■ HOMECOMPUTER EDITION m
Learning Adivilies
for Homes and Schools
f
Y
[
For the ATARr 400/800,™
[■- ,.
/
600XL™, 800XL™, 1200XL™
1400XL™ and 1450XLD™
•
Home Computers and the
'
ATARI VCS 2600™75200™
Qjmputer Keyboards
■■■■■■■■■■
■
1
, . /'
By Gafy W Orwig and William S. Hodges
L^ j_l ■ T ■" 1
f:
■ - ' - . ■ ■ ■ , V
* ^^ Litrie, Brown Microcomputer Bookshelf S ^
THE COMPUTER TUTOR:
ATARI® HOME COMPUTER EDITION
Learning Activities for Homes and Schools
For the ATARI® 400/800™, 600XL™, 800XL™, 1 200XL™,
1400XL™, 1450XLD™, Home Computers and the
ATARI VCS 2600™/5200™ Computer Keyboards
GARY W. ORWIG
University of Central Florida
WILLIAM S. HODGES
LITTLE, BROWN AND COMPANY
Boston Toronto
Library of Congress Cataloging in Publication Data
Orwig, Gary W., 1945-
The computer tutor.
(Little; Brown computer systems series)
Bibliography: p.
1. Computer-assisted instruction. 2. Activity programs
in education. I. Hodges, William S. II. Title,
m. Series.
LB1028.5.07 1983 371.3'9445 83-9848
ISBN 0-316-66502-9
Copyright © 1983 by Gary W. Orwig and William S. Hodges
Ail rights reserved No part of this book may be reproduced in any form or by any
electronic or mechanical means including information storage and retrieval systems
without permission in writing from the publisher, except by a reviewer who may quote
brief passages in a review.
Library of Congress Catalog Card No. 83-9848
ISBN D-31b-bbS0S-T
SEM
Published simultaneously in Canada
by Little, Brown &. Company (Canada) Limited
Printed in the United States of America
Disclaimer of Liabilities: Due care has been exercised in the preparation of this book to
ensure its effectiveness. The authors and publisher make no warranty, expressed or
implied, with respect to the programs or other contents of this book. In no event will the
authors or publisher be liable for direct, indirect, incidental, or consequential damages in
connection with or arising from the furnishing, performance, or use of this book.
This book is published by Little, Brown and Company (Inc.], which is not affiliated with
Atari, Inc. Atari is not responsible for any inaccuracies.
Illustrations by Jesse Clay
ATARI is a registered trademark of Atari, Inc.
400/800, 600XL, 800 XL, 1200XL, 1400XL, 1450XLD, and VCS 2600/5200 are trademarks
of Atari, Inc.
Microsoft is a registered trademark of Microsoft Corporation.
FOREWORD
Here is a book for parents who are growing with their children, who care about their
learning, and who like to be involved with them in new and exciting ways. It is a book for
parents who would like to play with their children while their children play with
computers, or play with their computers while their children play with those same
computers. And it is a book for teachers who want computer-assisted instructional
exercise material for the classroom microcomputer. In short, here is a book for almost
anyone who is interested in children, in education, in computers.
Americans have always been interested in children and in education. They've also
been interested in applying technology in education and play, as in other areas of their
lives. When necessary, they've been prepared to study at home, no matter what feeble
technology they had at their disposal. This Great American Tradition of self-education is
exemplified by young Abraham Lincoln studying by firelight, writing in charcoal on a
shovel.
Today, of course, learning is more complex, so it is easy to leave the schools in charge
of the whole job. But the home computer revolution has given today's Honest Abe a new
kind of shovel. This new "shovel" isn't quite as easy to use as the old kind — and that's
where Orwig and Hodges come in. They've assembled a book of practical computer-
assisted instruction (CAI) for real people with real ideas about what they want to learn, or
want their children or students to learn.
More sophisticated programs for computer-assisted instruction certainly exist. But
the beauty of the shovel wasn't its sophistication, but its accessibility. Learners want to be
able to understand CAI programs when they decide to get inside and make a few custom
changes.
Chesterfield once said, 'There are three classes of people in the world. The first learn
from their own experience — these are wise; the second learn from the experience of
others — these are happy; the third neither learn from their own experience nor the
experience of others — these are fools." The person who programs a home computer for
self-education is both wise and happy when using a book like The Computer Tutor. There
is the very direct learning obtained from interacting with the programs, but perhaps even
more important is the learning about learning that comes from getting behind the scenes
through sharing the authors' experience.
If you already own a computer, you know what a powerful teacher it can be, but
perhaps you don't suspect its full power or know how to harness it to your own learning
goals. If so, you're likely to be receptive to Orwig and Hodges. You'll undoubtedly be able
to think of hundreds of lessons which can be created along the lines of one of this book's
model programs.
If you don't already own a computer, I can think of no better reason for investing in
one than as a self-education device. And I can think of no better place to start than with
one of the programs in this book. I don't promise you'll become The Great Emancipator,
or even just an ordinary President of the United States. But I will promise that you'll be
taking part in The Great American Tradition — and it's easier than splitting rails!
Gerald M. Weinberg
Series Editor
VI
PREFACE
Thomas Jefferson, a member of the original group of architects of the United States
government and third U.S. President, once stated that in order to have an informative,
cohesive society, the masses must be educated. In his day and time Jefferson was speaking
about the 3 R's of reading, writing, and arithmetic. He never dreamed that a 4th R would
develop in the future that would be just as important to the continued evolution of an
informed society as were the original basic disciplines of education.
It has been predicted that this 4th R in education will be (or already is) the need for
individuals to develop fundamental computer literacy. Digital computers and computer
programming have been in existence for decades; however, with the appearance of
microcomputers in the 1970's, the importance of computer literacy was dramatically
magnified. Educators could no longer ignore the computer as an important tool,
especially when they discovered that many of their students had microcomputers in their
own homes. It has been predicted that the 1980's will be the beginning of computer
education for the entire world on a mass marketing basis, and that anyone not computer
Uterate will be as lost in society as those who neither read nor write today.
Educators who have worked with microcomputers in programmed instruction (PI)
classrooms unanimously agree that microcomputers motivate students (especially in
remedial training) more than any other single instructional tool. Computer-assisted
instruction (CAI) teaches students logical thinking, allows for individualized review and
practice (drill and practice), provides immediate feedback on performance, and in many
cases gives a student a chance to demonstrate his or her creativity. Automatic interaction
and instant feedback gives CAI a tremendous advantage over other audio/visual
classroom techniques.
Although some critics charge that CAI is "mechanical" and impersonal, this rarely is
the case. In fact, a student in need of remedial instruction can often obtain more
personalized, "humanistic" attention from well designed CAI programs than he or she
can get from a classroom with 34 other students in it. Most instructors using CAI feel
that they become consultants instead of lecturers. These teachers are not hardware or
software experts, but they do know enough to instruct students on how to use
microcomputers and peripherals such as cassette tapes, disks, and printers.
Complete teacher acceptance and training in CAI is essential for the predicted
computer literacy evolution of the 1980's to take place. The lack of high-quality, portable
CAI courseware has slowed the computer literacy movement; to help fill this courseware
vii
void we have created a book intended to make CAI programs easily accessible to
educators worldwide.
The Computer TYitor was written to be both educational and entertaining to teachers,
parents, and students alike. Our courseware and the explanation of programming
techniques cover a variety of subjects such as mathematics, science, social studies, etc.
The courseware also includes a discussion on the insertion of graphic subroutines into
the program listings. At the same time we have tried to maintain a tone designed to
exploit the excitement and challenge of CAI.
We realize that without computer hardware our courseware cannot be utiUzed. With
increasing distribution of low- cost microcomputers into educational systems, more
hardware is becoming available to educators. However, greater efforts must be directed
toward establishing computer literacy in the minds of taxpayers (parents) and local, state,
and federal government officials. Computer awareness groups can be formed to educate
taxpayers and school board officials of the educational and practical usefulness of CAI in
their school systems. School seminars can also be given at PTA (Parent/Teacher
Association) meetings to inform the public of the need for computer hardware and
software as teaching tools for students.
CAI will never replace teachers as human factors in classrooms. However, it will give
educators an excellent opportunity to enhance their teaching techniques. For example, it
might give instructors time away from lecture and other "mass education" delivery
methods in order to devote more personal time to both remedial and gifted students in
the classroom.
We hope The Computer Tutor will provide a vehicle to assist the educator in CAI and
to act as a stimulus toward a better understanding of computers and computer literacy by
the general public. The task will not be an easy one and, like most worthwhile things, it
will take time. However, with the help of teachers, parents, officials, and students
working together, we believe that computer literacy on the part of the public will
eventually be achieved. And we suspect that Thomas Jefferson would be very pleased.
Gary W. Orwig
William S. Hodges
VIM
CONTENTS
INTRODUCTION
PROGRAM DISCUSSION
LINEAR PROGRAMS
Capitals of Nations
Guess the Numbers
Guess the Word
Math Tutor
Math Word Problems
Memory Test— Letters
Memory Test— Numbers
Scrambled Words
Spelling Quiz
Story Teller
Synonyms/Antonyms
Test Tutor
Time, Distance, and Velocity
Too High— Too Low
Trivia Quiz
BRANCHING PROGRAMS
Factor Game
Math Teacher
Metrics
Story Writer
SIMULATION PROGRAMS
Acceleration
Ballistics
Car Wash
Checl<-Out Counter
Stock Marl<et
Teach Me
Appendix A: GRAPHIC SUBROUTINES
1
2
6
19
28
40
53
64
73
82
92
100
109
121
133
156
162
173
174
189
203
222
237
238
251
264
283
297
318
331
IX
Appendix B: GLOSSARY 335
Appendix C: REFERENCES 34I
THE COMPUTER TUTOR
INTRODUCTION
Computer-assisted instruction (CAI) can be traced back to a machine, invented in
1924 by Dr. Sidney Pressey, that was used to grade multiple-choice examinations. CAFs
real roots are, however, associated with B. F. Skinner, a behavioral psychologist who, in
1954, published an article in the Harvard Education Review entitled "The Science of
Learning and the Art of Teaching." Programmed instruction (PI) in education was made
more prominent as a direct result of this article. Such terms as linear programming, drill
and practice, branching, and simulation also became a part of an educator's vocabulary.
CAI is nothing more than programmed instruction (PI) using computer hardware and
software to carry out the teaching techniques. The main value of CAI is that it is an
effective teaching tool for individual instruction rather than for a group lecturing
method.
The Computer Tutor: ATARI® Home Computer Edition is a guide for developing
CAI in elementary and secondary schools as well as in the home environment. Twenty-
five computer programs teaching mathematics, science, vocabulary, and social studies by
use of linear, branching, and simulation programmed instruction (PI) techniques have
been included in the book. All program listings and their sample runs were written and
operated on an ATARI 400/800 Home Computer using 16K Microsoft® BASIC and
ATARI BASIC computer programming languages. All programs will run on the ATARI
400/800™, 600XL™, 800XL", 1200XL~, 1400XL~, and 1450XLD™ Home Computers and
on the ATARJ VCS 2600^/5200™ Computer Keyboard.
Graphic and sound subroutines for pictorial displays and sound effects are included
in Appendix A to be used as suggested guides for adding graphics and sound to the
programs.
Programming techniques and suggestions for modifying and/or personalizing the
programs included in the text are mentioned after each program description. A Glossary
covering some computer hardware and software terms, CAI terms, and graphic
definitions is included in Appendix B. The Glossary should assist the reader or instructor
in understanding some of the terms used in the explanations of the programs and
elsewhere in the book.
All the program Ustings are easily entered into the computer's memory by following
the programming instructions described in each individual computer hardware owner's
manual.
PROGRAM DISCUSSION
The following programs have been written in both the original ATARI BASIC and
the newer ATARI Microsoft BASIC. Each of these BASIC dialects has some good points
and some bad points. The original BASIC is in a plug-in cartridge and can be used with a
minimal ATARI Home Computer set-up. Unfortunately, the original BASIC has very
primitive word handling routines, which make certain parts of these programs difficult
to follow. The newer ATARI Microsoft BASIC has far more sophistication, thus making
for easier program writing. It is currently available, however, only on a floppy disk.
Because this version must be loaded into memory, the computer must have 48 thousand
bytes of program memory and a disk drive. There are rumors that this "extended" BASIC
will soon be available in a cartridge, though, so check with your local store.
The following programs have been written so that they will perform almost
identically using either BASIC language. While this gives you a chance to compare
routines in each dialect, it does not allow for the most efficient use of the powerful
Microsoft version. The individual program notes will point out areas where modifica-
tions might be made in order to encourage you to learn to use some of the new commands
in the Microsoft BASIC.
The programs presented here contain the following components:
A Program Description
B. Program Notes
C. Program Listings (for ATARI BASIC and Microsoft BASIC)
D. Sample Run
It should be noted that the sample runs have been condensed (many blank lines have
been removed) to save space. In many cases, the programs are very active, with
information constantly scrolling on and off the video screen. One of the shorter
programs, with all scrolling lines left in, produced over 20 feet of print-out on a sample
run! In addition, some of the sample runs, such as the Spelling Quiz, don't seem to make
a lot of sense. You must keep in mind that while the print-out is permanent, the actual
video image can come and go very rapidly.
Finally, you will notice that the program listings follow very definite patterns.
Whenever possible, the same line numbers perform the same functions. It is wise to
develop this habit because you will find that subroutines are easy to memorize if they are
repeated frequently. For variety, though, the same function has sometimes been
performed several different ways. This was not an accident— it is intended to allow you to
select your favorite method. And by all means, don't be satisfied with what is in this
book! It is intended to get you started, but you should dig in and "customize" these
programs to suit your own needs.
Happy CAI!
Hello! My name is Arthur. I have been selected as your guide to lead
you through an exciting and rewarding adventure! Follow me as I
demonstrate to you how fun and easy it is to learn mathematical and
verbal skills with the use of personal computers.
LINEAR PROGRAMS
Linear programming is the most common form of programmed instruction (PI). It is
presented in a logical (fixed) sequence of small steps or frames. When used with a
computer, linear programming becomes a form of drill-and-practice computer-assisted
instruction (CAI). The fifteen program Ustings and sample runs were chosen as a
representative sample of Unear programs that provide instruction in basic mathematics,
vocabulary, science, memory enhancement, and social studies.
Capitals of Nations
PROGRAM DESCRIPTION
A geography lesson is presented in this program. For this "trip
around the world/' the computer asks you a series of multiple-
choice questions, asking you either to select the correct capital of a
nation or the correct nation given the capital. The computer will
ask you the questions you missed at a later time during the test.
You must answer all of the questions correctly in order to complete
the program.
PROGRAM NOTES
1. This program may need occasional updating. Nations and
capitals do have a tendency to change!
2. By changing the data base you could use this program to teach
any sets of matched pairs like English/French, event/date,
author/title, etc.
PROGRAM LISTING: BASIC
6
100 REM CAPITALS OF NATIONS BY GARY ORWIG
500 REM PUT MESSAGE ON SCREEN
510 PRINT
520 PRINT "ONE MOMENT PLEASE."
lOOO REM INITIALIZATION
lOlO TL=114
1020 TL=TL+1
1030 DIM N<4) ,CA*(TL*20),NA»<TL*20)
1040 DIM CAI»(20),NAI*(20),S*(20),SA«(20)
1050 FOR 1=1 TO TL
1060 CA»(I»20-19,I*20)="
1070 NEXT I
1080 NA«=CA«
1090 CAI*="
1100 NAI«=CAI*:S»=CAI«:SA«=CAI«
1110 REM READ IN NATION : CAPITAL ARRAYS
1120 LN=1
1130 FOR 1=1 TO TL
1140 READ NAI«,CAI*
IISO CAi»(LN)=CAI«
1160 NA«(LN)=NAI«
1170 LN=LN+20
1180 NEXT I
1190 G=0
1200 TL=TL-1
1210 BL=TL
1220 N=0
1230 REM USE FULL SCREEN
1240 POKE 82, O
1250 PRINT
2000 REM INTRODUCTION
2010 L=12
2020 GOSUB 18000
2030 PRINT " NATIONS AND CAPITALS"
2040 60SUB 18000
2050 DE=150
2060 GOSUB 19000
2070 GOSUB 18000
2080 PRINT "THIS IS A PROGRAM WHICH WILL TEST YOUR"
2090 PRINT "KNOWLEDGE OF NATIONS AND THEIR"
2100 PRINT "CAPITALS."
21 lO PRINT
2120 PRINT "YOU WILL BE GIVEN MULTIPLE CHOICE"
2130 PRINT "QUESTIONS WHICH HAVE FOUR ANSWERS EACH.'
2140 PRINT
2150 PRINT "YOU SHCHA.D ANSWER WITH A '1,' '2,'"
2160 PRINT "'3,' OR '4.'"
2170 PRINT
2180 PRINT "TO STOP AT ANY TIME, TYPE IN A 'O'"
2190 PRINT "FOR AN ANSWER."
2200 PRINT
2210 PRINT "YOU HAV^ A CHOICE:"
2220 PRINT " 1. BE GIVEN THE NATION"
2230 PRINT " AND ANSWER WITH THE CAPITAL"
2240 PRINT
2250 PRINT " 2. BE GIVEN THE CAPITAL"
2260 PRINT " MMD ANSWER WITH THE NATION"
2270 PRINT
2280 PRINT "PICK '1' OR '2'"
2290 INPUT SE
2300 IF SE<1 OR SE>2 THEN 2280
2310 L=:18
2320 GOSUB 18000
2330 L=9
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 REM C IS POSITION OF CORRECT ANSWER
NUMBERS DIFFER
OR N(1)=N(4) THEN 4050
OR N<3)=N(4) THEN 4050
8
4030 C=INT(RND(0)«4)+1
4040 REM PICK THREE NUMBERS
4050 FOR 1=1 TO 3
4060 N(I)=INT(RND(0)*TL)+1
4070 NEXT I
40BO N(4)=N<C)
4090 N(C)=R
4100 REM MAKE CERTAIN ALL FOUR
41 lO IF N(1)=N(2) OR N(1)=N<3>
4120 IF N(2)=N(3> OR N(2)=N(4)
4130 IF SE=2 THEN 4250
4140 REM PRINT CAPITALS
4150 GOSUB 18000
4160 PRINT "1.";CA«(N<1>*20-19,N<1)»20)
4170 PRINT "2. ";CA«(N(2)*20-19,N(2)*20)
4180 PRINT "3.";CA*(N(3)*20-19,N<3>*20)
4190 PRINT "4. ";CA*(N(4)»20-19,N(4)*20)
4200 GOSUB 18000
42 lO PRINT "THE CAPITAL OF "
4220 PRINT NA«(R*20-19,R*20)
4230 PRINT "IS:"
4240 GOTO 4340
4250 REM PRINT NATIONS
4260 GOSUB 18000
4270 PRINT "1.";NA*(N(1)*20-19,N<1)»20)
4280 PRINT "2.";NA*(N(2)»20-19,N<2)»20)
4290 PRINT "3. "5NA*<N(3)*20-19,N<3>»20)
4300 PRINT "4.";NA*(N(4)»20-19,N(4)»20)
4310 GOSUB 18000
4320 PRINT CA«(R*20-19,R*20)
4330 PRINT "IS THE CAPITAL OF ";
4340 INPUT SA
4350 IF SA<1 OR SA>4 THEN 4680
4360 IF SA=C THEN 4500
4370 PRINT
4380 PRINT "WRONG!"
4390 IF SE=2 THEN GOTO 4450
4400 PRINT
44 lO PRINT "THE CAPITAL OF "
4420 PRINT NA«<R*20-19,R*20)
4430 PRINT " IS " ; CA«(R*20-19,R»20)
4440 GOTO 4630
4450 PRINT
4460 PRINT CA*<R*20-19,R*20)
4470 PRINT " IS THE CAPITAL OF "
4480 PRINT NA*(R*20-19,R*20)
4490 GOTO 4630
4500 REM
45 lO N=N+1
4520 PRINT
4530 PRINT "RIGHT! YOU HAVE ";N;" CORRECT!
4540 REM REMOVE CORRECT ANSWER FRCMi LIST
4550 S«=CA« ( R*20- 1 9 , R«20 >
4560 CA« < R*20- 1 9 , R*20 ) =CA« < BL»20- 1 9 , BL»20 )
4570 CA« < BL»20- 1 9 , BL*20 ) =S«
4580 S«=NA« ( R*20- 1 9 , R»20 )
4590 NA* (R»20-19, R»20) =NA» (BL»20-19, BL»20)
4600 NA* ( BL»20- 1 9 , BL»20 ) =S*
4610 BL=BL-1
4A20 IF BL=0 THEN BOTO 4740
4630 DE=150
4640 60SUB 19000
4650 G=G+1
4660 GOTO 40 lO
4670 REM STOP?
4680 PRINT "DO YOU WANT TO STOP";
4690 INPUT SA«
4700 IF SA*="Y" OR SA*="YES" THEN 4750
4710 PRINT "WHAT WAS YOUR ANSWER"
4720 PRINT "TO THE LAST PROBLEM";
4730 GOTO 4340
4740 G=G+1
■YOU GOT ";N;" RIGHT IN
GUESSES'
'WOULD YOU LIKE TO TRY AGAIN";
THEN GOTO 1190
4750 PRINT
4760 PRINT
4770 PRINT
4780 INPUT SA«
4790 PRINT
4800 IF SA*="Y" OR SA*="YES"
48 lO END
lOOOO REM RANDOMIZATION
lOOlO R=INT(RND<0)»BL)+1
10020 RETURN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM I^LAY
19010 FOR 1=1 TO DE
19020 NEXT I
19030 RETURN
21000 REM DATA
21010 DATA AFGHAN I STAN, KABIA-, ALBANIA, TIRANA, ALGER I A, ALGIERS
21020 DATA ANGOLA,LUANDA, ARGENTINA, BUENOS AIRES, AUSTRALIA, CA
NBERRA
21030 DATA AUSTRIA, VIENNA, THE BAHAMAS, NASSAU, BANGLADESH, DACC
A
2 1 040 DATA BARBADOS , BR I DGETOWN , BELG I UM , BRUSSELS , BOL I V I A , SUCR
E
21050 DATA BOTSWANA, GABORONE, BRAZIL, BRAS ILIA, BULGARIA, SOFIA
21060 DATA BURMA, RANGOON, CAMBOD I A, PHNOM PENH, CANADA, OTTAWA
21070 DATA CHILE, SANTIAGO, PEOPLE' S REP. OF CHINA, PEKING
21080 DATA REPUBLIC OF CHINA, TAIPEI, COLOMBIA, BOGOTA, COSTA RI
CA,SAN JOSE
2 1 090 DATA CUBA , HAVANA , CYPRUS , N I COS I A , CZECHOSLOVAK I A , PRAGUE
21100 DATA DENMARK, COPENHAGEN, DOMINICAN REPUBLIC, SANTO DOM IN
GO
21110 DATA ECUADOR, QUITO, EGYPT, CAIRO, EL SALVADOR, SAN SALVADO
R
21120 DATA ETHIOPIA, ADDIS ABABA, FIJI, SUVA, FINLAND, HELSINKI
2 1 1 30 DATA FRANCE , PAR I S , GERMANY , BERL I N , GHANA , ACCRA , GREECE , AT
HENS
21140 DATA GUATEMALA, GUATEMALA CITY, HAITI , PORT-AU-PRINCE, HON
DURAS , TEGUC I G ALPA
21150 DATA HUNGARY,BUDAPEST, ICELAND, REYKJAVIK, INDIA, NEW DELH
I
2 1 1 60 DATA I NDONES I A , J AK ART A , I RAN , TEHRAN , I RAQ , BAGHDAD
2 1 1 70 DATA I REL AND , DUBL I N , I SR AEL , JERUSALEM , I T AL Y , ROME
21180 DATA JAMAICA, KINGSTON, JAPAN, TOKYO, JORDON, AMMAN, KENYA, N
AIROBI
21190 DATA SOUTH KOREA, SEOUL, KUWAIT, KUWAIT CITY, LAOS, VI ENT I A
NE
21200 DATA LEBANON, BEIRUT, LIBERIA, MONROVIA, LIBYA, TRIPOLI
212 lO DATA LIECHTENSTEIN, VADUZ, MADAGASCAR, TANANARIVE, MALAYS I
A, KUALA LUMPUR
21220 DATA MALI , BAMAKO, MALTA, VALETTA, MAURITANIA, NOUAKCHOTT
21230 DATA MEXICO, MEXICO CITY, MONGOLIA, ULAN BATOR, MOROCCO, R A
BAT
21240 DATA MOZAMBIQUE, MAPUTO, NEPAL, KATMANDU, Tt£ NETHERLANDS,
AMSTERDAM
21250 DATA NEW ZEALAND, WELL I NGTON, NICARAGUA, MANAGUA, NIGER, N I
AMEY
2 1 260 DATA N I GER I A , LAGOS , NORWAY , OSLO , OMAN , MUSCAT , PAK I STAN , I S
LAMBAD
2 1 270 DATA PANAMA , PANAMA , PARAGUAY , ASUNC I ON , PERU , L I MA
21280 DATA PHILIPPINES, QUEZON CITY, POLAND, WARSAW, PORTUGAL, LI
SBON
21290 DATA RHODES I A, SALISBURY, ROMAN I A, BUCHAREST, SAUDI ARABIA
, RIYADH
21300 DATA SENEG AL , DAKAR , S I ERRA LEONE, FREETOWN, SOMALIA, MOGAD
I SHU
21310 DATA REP. OF S. AFRICA, PRETORIA & CAPE TOWN, SPAIN, M ADR
ID
21320 DATA SRI LANKA, COLOMBO, SUDAN, KHARTOUM, SWEDEN, STOCKHOLM
21330 DATA SWITZERLAND, BERN, SYRIA, DAMASCUS, TANZANIA, DAR ES S
ALAAM
2 1 340 DATA THA I LAND , BANGKOK , TOGO , LOME , TONGA , NUKUALOFA
21350 DATA TRINIDAD & TOBAGO, PORT OF SPAIN, TUNISIA, TUNIS, TUR
KEY, ANKARA
21360 DATA UGANDA, KAMPALA, RUSSIA (USSR) , MOSCOW, UNITED <¥%AB E
MI RATES, ABU DHABI
21370 DATA UNITED KINGDOM, LONDON, URUGUAY, MCHMTEVIDEO,VENEZUEL
A, CARACAS
21380 DATA VIETNAM, HANOI , YUGOSLAVIA, BELGRADE, ZAIRE, KINSHASA,
ZAMBIA, LUSAKA
21390 DATA EOF, EOF
TABLE OF VARIABLES
TL
N(
lOlO
1020
1020
1030
1030
1050
1130
1200
1200
1210
4060
1030
4060
4080
4080
4090
4110
4110
4110
4110
4110
4110
4120
4120
4120
4120
4120
4120
4160
4160
4170
4170
4iao
4180
4190
4190
4270
4270
4280
4280
4290
4290
4300
4300
10
1030 1060 1080 1150 4160 4170
4 ISO 4190 4320 4430 4460 4550
4560 4560 4570
NA«
1030 1080 1160 4220 4270 4280
4290 4300 4420 4480 4580 4590
4590 4600
I
1050 1060 1060 1070 1130 1180
4050 4060 4070 18010 18030 19010
19020
G
1190 4650 4650 4740 4740 4750
BL
121 O 4560 4560 4570 4570 4590
4590 4600 4600 4610 46 lO 4620
lOOlO
N
1220 4510 45 lO 4530 4750
L
2010 2310 2330 18010
DE
2050 4630 19010
SE
2290 23O0 2300 4130 4390
C
4030 4080 4090 4360
R
4090 4220 4220 4320 4320 4420
4420 4430 4430 4460 4460 4480
4480 4550 4550 4560 4560 4580
4580 4590 4590 lOOlO
SA
4340 4350 4350 4360
S%
1040 llOO 4550 4570 4580 4600
SA«
1040 llOO 4690 4700 4700 4780
4800 4800
11
1040 1090 1100 1100 1100 1140
1150
NAI$
1040 1100 1140 1160
LN
1120 1150 1160 1170 1170
PROGRAM LISTING: MICROSOFT BASIC
lOO REM CAPITALS OF NATIONS BY GARY ORWIG
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZATION
lOlO TL = 114
1020 DIM N(4),CA«(TL),NA«(TL)
1030 REM READ IN NATION : CAPITAL ARRAYS
1040 FOR 1 = 1 TO TL
1050 READ NA«<I>,CA«(I}
1060 NEXT I
1070 G = O
1080 BL = TL
1090 N = O
llOO REM USE FULL SCREEN
1110 POKE 82, O
2000 REM INTRODUCTION
2010 L = 12
2020 GOSUB 18000
2030 PRINT " NATIONS AND CAPITALS"
2040 GOSUB 18000
2050 DE = lOOO
2060 GOSUB 19000
2070 GOSUB 18000
•THIS IS A PROGRAM WHICH WILL TEST YOUR"
■KNOWLEDGE OF NATIONS AND THEIR"
•CAPITALS. *■
2080 PRINT
2090 PRINT
2100 PRINT
"YOU WILL BE GIVEN MULTIPLE CHOICE"
"QUESTIONS WHICH HAVE FOUR ANSWERS EACH.
'YOU SHOULD ANSWER WITH A
•'3,' OR '4.'"
21 lO PRINT
2120 PRINT
2130 PRINT
2140 PRINT
2150 PRINT
2160 PRINT
2170 PRINT
2180 PRINT "TO STOP AT ANY TIME, TYPE
2190 PRINT "FOR AN ANSWER."
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
2260 PRINT
2270 PRINT
2280 PRINT
'1,' '2,'"
IN A 'O'
'YOU HAVE A CHOICE:"
1. BE GIVEN THE NATION"
AND ANSWER WITH THE CAPITAL'
2.
BE GIVEN THE CAPITAL"
AND ANSWER WITH THE NATION'
"PICK '1' OR '2'
12
2290 INPUT SE
2300 IF SE < 1 OR SE > 2 THEN 2280
2310 L = 18
2320 60SUB 18000
2330 L = 9
4000 REM MAIN PROGRAM
4010 60SUB lOOOO
4020 REM C IS POSITION OF
CORRECT ANSWER
4030 C = RND<4)
4040 REM PICK THREE NUMBERS
4050 FOR I = 1 TO 3
4060 N<I) = RND(TL)
4070 NEXT I
4080 N(4) s N<C)
4090 N<C) = R
4100 REM MAKE CERTAIN ALL
FOUR NUMBERS DIFFER
4110 IF N(l) » N(2) OR N(l)
= N(3) OR N(l)
= N(4)
4120 IF N(2) = N<3) OR N(2}
= N(4) OR N(3)
= N(4)
4130 IF SE = 2 THEN 4230
4140 REM PRINT CAPITALS
4150 60SUB 18000
4160 PRINT •■l."iCA«(N(l))
4170 PRINT "2. ";CA*(N(2))
4180 PRINT "3.";CA*<N(3))
4190 PRINT "4.";CA«(N(4))
4200 GOSUB 18000
4210 PRINT "THE CAPITAL OF
";NA*<R);" IS"
m
»
4220 GOTO 4310
4230 REM PRINT NATIONS
4240 GOSUB 18000
4250 PRINT "1.";NA»(N<1))
4260 PRINT "2. ";NA*(N<2))
4270 PRINT "3.";NA*<N<3))
4280 PRINT ••4.";NA«(N(4))
4290 GOSUB 18000
4300 PRINT CA»(R);" IS THE
CAPITAL OF ";
4310 INPUT SA
4320 IF SA < 1 OR SA > 4 THEN 4610
4330 IF SA = C THEN 4430
4340 PRINT
4350 PRINT "WRONG!"
4360 IF SE = 2 THEN GOTO 4400
4370 PRINT
4380 PRINT "THE CAPITAL OF
"JNA«(R)?" IS "
;CA«(R>$
4390 GOTO 4560
4400 PRINT
4410 PRINT CA«(R);" IS THE
CAPITAL OF ";NA*(R);"."
4420 GOTO 4S60
4430 RFM
4440 N = N + 1
4450 PRINT
4460 PRINT "RIGHT! YOU HAVE ";N;" CORRECT!
l>
4470 REM RFMOVE CORRECT ANSWER FROM LIST
4480 S« = CA«(R)
4490 CA«(R) = CA«(BL)
4500 CA«(BL) = S*
4510 S« = NA«(R)
4520 NA«(R) = NA«(BL)
4530 NA«(BL) = S«
THEN 4050
THEN 40S0
13
4540 BL = BL - 1
4550 IF BL = O THEN GOTO 4670
4560 DE = lOOO
4570 GOSUB 19000
4580 6=6^1
4590 GOTO 40 lO
4600 REH STOP?
4610 PRINT "DO YOU WANT TO STOP";
4620 II«*UT SA*
4630 IF SA» = "Y" OR SA» = "YES" THEN 4680
4640 PRINT "WHAT WAS YOUR ANSWER"
4650 PRINT "TO THE LAST PROBLEM")
4660 GOTO 4310
4670 G = G + 1
4680 PRINT "YOU GOT ";Nj" RIGHT IN ">Q;" GUESSES"
4690 PRINT
4700 PRINT "WOULD YOU LIKE TO TRY AGAIN";
4710 INPUT SA*
4720 PRINT
4730 IF SA* = "Y" OR SA* = "YES" THEN GOTO 1070
4740 END
lOOOO REM RANDOMIZATION
lOOlO R = RND(BL)
10020 RETURN
18000 REM SCROLLING
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO DE
19020 NEXT I
19030 RETURN
21000 REM DATA
21010 DATA "AFGHANISTAN", "KABUL", "ALBANIA", "TIRANA", "ALGERIA
", "ALGIERS"
2 1 020 DATA " ANGOLA " , " LUANDA " , " ARGENT I NA " , " BUENOS A I RES " , " AUS
TRALIA", "CANBERRA"
21030 DATA "AUSTRIA", "VIENNA" , "THE BAHAMAS", "NASSAU", "BMMGL A
DESH", "DACCA"
21040 DATA "BARBADOS" , "BRIDGETOWN" , "BELGIUM" , "BRUSSELS" , "BOL
IVIA", "SUCRE"
2 1 050 DATA " BOTSWANA " , " GABORONE " , " BRAZ I L " , " BRAS I L I A " , " BULGM)
lA", "SOFIA"
2 1 060 DATA " BURMA " , " RANGOON " , " C AMBOD I A " , " PHNOM PENH " , " CANADA
"."OTTAWA"
21070 DATA "CHILE", "SANTIAGO" , "PEOPLE'S REPUBLIC OF CHINA","
PEKING"
21080 DATA "REPUBLIC OF CHINA", "TAIPEI", "COLOMBIA" , "BOGOTA" ,
"COSTA RICA", "SAN JOSE"
21090 DATA "CUBA" , "HAVANA" , "CYPRUS" , "NICOSIA" , "CZECHOSLOVAK!
A", "PRAGUE"
21100 DATA "DENMARK", "COPENHAGEN", "DOMINICAN REPUBLIC" , "SANT
O DOMINGO"
21 1 lO DATA "ECUADOR" , "QUITO" , "EGYPT" , "CAIRO" , "EL SALVADOR" , "
SAN SALVADOR"
21120 DATA "ETHIOPIA", "ADDIS ABABA", "FIJI", "SUVA", "FINLAND",
14 "HELSINKI"
21 130 DATA "FRANCE" , "PARIS" , "GERMANY" , "BERLIN" , "8HANA" , "ACCR
A" , "GREECE" , "ATHENS"
21140 DATA "GUATEMALA", "GUATEMALA CITY" , "HAITI", "PORT-AU-PRI
NCE" , "HONDURAS" , "TEGUCIGALPA"
2 1 1 50 DATA " HUNGARY " , " BUDAPEST " , " I CELAND " , " RE YK J AV IK","INDIA
","NEW DELHI"
21 160 DATA " INDONESIA" , "JAKARTA" , " IRAN" , "TEHRAN" , " IRAQ" , "BAG
HDAD"
21 170 DATA " IRELAND" , "DUBLIN" , " ISRAEL" , "JERUSALEM" , " ITALY" , "
ROME"
21 180 DATA "JAMAICA" , "KINGSTON" , "JAPAN" , "TOKYO" , " JG«DON" , "AM
MAN" , "KENYA" , "NAIROBI "
2 1 1 90 DATA " SOUTH KOREA " , " SEOUL " , " KUW A IT"," KUW A IT C I T Y " , " LAO
S", "VIENTIANE"
21200 DATA "LEBANON", "BEIRUT" , "LIBERIA" , "MONROVIA", "LIBYA", "
TRIPCM_I"
2 1 2 1 O DATA "LI ECHTENSTE IN"," VADUZ " , " MADAGASCAR " , " TANANAR I VE "
, "MALAYSIA", "KUALA LUMPUR"
21220 DATA "MALI " , "BAMAKO" , "MALTA" , " VALETTA" , "MAl^ITANI A" , "N
OUAKCHOTT"
21230 DATA "MEXICO" , "MEXICO CITY" , "MONGOLIA" , "ULAN BATC«","M
OROCCO "," RABAT "
2 1 240 DATA " MOZ AMB I QUE " , " MAPUTO " , " NEPAL " , " KATMANDU " , " THE NET
HERLANDS", "AMSTERDAM"
2 1 250 DATA " NEW ZEALAND " , " WELL I NGTON " , " N I CARAGUA " , " MANAGUA " ,
"NIGER", "NIAMEY"
21260 DATA "NIGERIA" , "LAGOS" , "NORWAY" , "OSLO" , "OMAN" , "MUSCAT"
, "PAKISTAN", "I SL AMB AD"
21270 DATA "PANAMA" , "PANAMA" , "PARAGUAY" , "ASUNCION" , "PERU" , "L
IMA"
21280 DATA "PHILIPPINES" , "QUEZON CITY" , "POLAND", "WARSAW", "PO
RTUGAL" , "LISBON"
2 1 290 DATA " RHODES I A " , " SAL I SBURY " , " ROMAN I A " , " BUCHAREST " , " SAU
DI ARABIA", "RIYADH"
21300 DATA "SENEGAL" , "DAKAR" , "SIERRA LEONE" , "FREETOWN" , "SOMA
L I A" , "MOGADISHU"
21310 DATA "REPUBLIC OF SOUTH AFRICA" , "PRETORIA AND CAPE TOW
N" , "SPAIN" , "MADRID"
2 1 320 DATA " SR I LANKA " , " COLOMBO " , " SUDAN " , " KHARTOUM " , " SWEDEN "
, "STOCKHOLM"
21330 DATA "SWITZERLAND" , "BERN" , "SYRIA" , "DAMASCUS" , "TANZANIA
","DAR ES SALAAM"
2 1 340 DATA " THA I LAND " , " BANGKOK " , " TOGO " , " LOME " , " TONGA " , " NUKUA
LOFA"
21350 DATA "TRINIDAD : TOBAGO" , "PORT OF SPAIN", "TUNISIA", "TU
N IS", "TURKEY", "ANKARA"
21360 DATA "UGANDA" , "KAMPALA" , "RUSSIA (USSR) " , "MOSCOW" , "UNIT
ED ARAB EMIRATES", "ABU DHABI"
2 1 370 DATA " UN I TED K I NGDOM " , " LONDON " , " URUGUAY " , " MONTE V I DEO " ,
"VENEZUELA", "CARACAS"
21380 DATA "VIETNAM" , "HANOI " , "YUGOSLAVIA" , "BELGRADE" , "ZAIRE"
, "KINSHASA" , "ZAMBIA" , "LUSAKA"
15
16
TABLE OF VARIABLES
BL - BOTTOM OF LIST MARKER
1080 4490 4500 4520 4530 4540
4540 4550 10010
C - POSITION OF CORRECT ANSWER
4030 4080 4090 4330
CA«(«) - CAPITALS LIST
1020 1050 4160 4170 4180 4190
4300 4380 4410 4480 4490 4490
4500
DE - DELAY
2050 4560 19010
G - NUMBER OF GUESSES
1070 4580 4580 4670 4670 4680
I - COUNTER
1040 1050 1050 1060 4050 4060
4070 18010 18030 19010 19020
L - LINES OF SCROLLING
2010 2310 2330 180 lO
N - NUMBER CORRECT
1090 4440 4440 4460 4680
N(») - ANSWER ARRAY
1020 4060 4080 4080 4090 4110
4110 4110 4110 4110 4110 4120
4120 4120 4120 4120 4120 4160
4170 4 ISO 4190 4250 4260 4270
4280
NA«(*) - NATIONS LIST
1020 1050 4210 4250 4260 4270
4280 4380 4410 4510 4520 4520
4530
R - RANDOM NUMBER
4090 4210 4300 4380 4380 4410
4410 4480 4490 4510 4520 lOOlO
S* - TRANSFER VARIABLE
4480 4500 4510 4530
SA - STUDENT ANSWER
43 lO 4320 4320 4330
SA« - STUDENT ANSWER
4620 4630 4630 4710 4730 4730
SE - PRESENTATION MODE
2290 2300 2300 4130 4360
TL - NUMBER OF PAIRS IN LIST
lOlO 1020 1020 1040 1080 4060
END OF VAR. LIST
SAMPLE RUN
THIS IS A PROGRAM WHICH WILL TEST YOUR
KNOWLEDGE OF NATIONS AND THEIR
CAPITALS.
YOU WILL BE GIVEN MULTIPLE CHOICE
QUESTIONS WHICH HAVE FOUR ANSWERS EACH.
YOU SHOULD ANSWER WITH A '1,' '2,'
'3,' OR '4.'
TO STOP AT ANY TIME, TYPE IN A 'O'
FOR AN ANSWER.
YOU HAVE A CHOICE:
1. BE GIVEN THE NATION
AND ANSWER WITH THE CAPITAL
2. BE GIVEN THE CAPITAL
AND ANSWER WITH THE NATION
PICK '1' OR '2'
?1
1 . RANGOON
2. PANAMA
3. ROME
4. TEHRAN
THE CAPITAL OF PANAMA IS?2
RIGHT! YOU HAVE 1 CORRECT!
I.VIENNA
2. TEGUCIGALPA
3. PANAMA
4. DACCA
THE CAPITAL OF AUSTRIA IS?1
RIGHT! YOU HAVE 2 CORRECT!
1 . DACCA
2. FREETOWN 17
3. WARSAW
4. HANOI
THE CAPITAL OF SIERRA LEONE IS?2
RIGHT! YOU HAVE 3 CORRECT!
1 . PRAGUE
2. AMSTERDAM
3. TEHRAN
4. OSLO
THE CAPITAL OF IRAN IS?3
RIGHT! YOU HAVE 4 CORRECT!
I.DUBLIN
2. MEXICO CITY
3. MOGADISHU
4. SEOUL
THE CAPITAL OF IRELAND IS?3
WRONG!
THE CAPITAL OF IRELAND IS DUBLIN.
1 . KAMPALA
2. BRIDGETOWN
3. BERN
4. ASUNCION
THE CAPITAL OF UGANDA IS?0
DO YOU WANT TO ST0P7YES
YOU GOT 4 RIGHT IN 5 GUESSES
WOULD YOU LIKE TO TRY AGAIN7N0
18
Guess the
Numbers
PROGRAM DESCRIPTION
The skills of addition, subtraction, multiplication, and divi-
sion are tested in this program. The computer picks two numbers
and adds, subtracts, multiplies, and divides them. The answers,
which are a result of the two numbers being added, subtracted,
multiplied, or divided, are displayed. You are to try to guess which
two numbers were used to obtain the list of answers shown to you.
PROGRAM NOTES
1. For a less complicated game, always present the four "results"
in the same order.
2. Line 10080 eliminates number pairs that don't divide evenly.
What happens if you remove it?
PROGRAM LISTING: BASIC
lOO REM GUESS THE NUMBERS BY GARY ORWIG
lOOO REM INITIALIZATION
iOlO DIM P(4)
1020 DIM NA«(30)
1030 DIM SS(20)
1040 REM USE FULL SCREEN
lOSO POKE 82, O
1060 PRINT
2000 REM INTRODUCTION
2010 FOR 1=1 TO 130
2020 PRINT INT (RND<0) ♦10000);" ";
19
20
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
41 30
4140
4150
41AO
4170
4180
4190
eUESS THE NUMBERS"
NEXT I
FOR 1=1 TO 2000
NEXT I
FOR 1=1 TO 23
PRINT
NEXT I
PRINT ••
FOR 1=1 TO 10
PRINT
NEXT I
PRINT "WHAT IS YOUR NAME?"
INPUT NA«
PRINT
PRINT "IT'S NICE TO MEET YOU, ";NA«;
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT MX
PRINT
PRINT
PRINT
FOR 1=1
NEXT I
PRINT
PRINT
PRINT
PRINT
PRINT
REM MAIN PROGRAM
i=o
GOSUB lOOOO
60SUB 10500
P < 1 ) =E
GOSUB 10500
IF E=P(1) THEN 4050
P<2>=E
GOSUB 10500
IF E=P<1) OR E=P<2) THEN 4080
P(3)=E
P<4)=10-(P(1>+P(2)+P<3) )
1=1+1
IF 1=5 THEN 4230
ON P(I) GOTO 4150,4170,4190,4210
PRINT a+b;" ";
GOTO 4120
PRINT A-B;" ";
GOTO 4120
PRINT a»b;" ";
I WILL THINK OF TWO NUMBERS AND"
ADD, SUBTRACT, MULTIPLY, AND"
DIVIDE THEM. I WILL THEN MIX UP"
THE ANSWERS AND SHOW THEM TO YOU."
IT WILL BE YOUR JOB TO FIGURE OUT"
THE ORIGINAL TWO NUMBERS!"
"WHAT IS THE LARGEST NUMBER YOU"
"WANT TO WORK WITH, ";NA«
OK, I WILL TRY NOT TO GIVE YOU"
PROBLEMS THAT HAVE ANSWERS OVER ";MX;
TO 2000
"HERE WE GO!"
4200 GOTO 4120
4210 PRINT A/B;" "J
4220 GOTO 4120
4230 PRINT
4240 PRINT "WHAT DO YOU THINK THE TWO"
42SO PRINT "NUMBERS ARE? TYPE THEM IN"
4260 PRINT "LIKE THIS: 6,9"
4270 INPUT S1,S2
4280 TR=TR+1
4290 60SUB llOOO
4300 IF HT=1 THEN 4340
4310 GOSUB 14000
4320 1=0
4330 GOTO 4120
4340 HT=0
4350 GOSUB 12000
lOOOO REM RANDOMIZATION
lOOlO A=INT(RND(0)*MX)+1
10020 B=INT<RND(0>»MX)+1
10030 IF A<B THEN 10050
10040 GOTO 10080
10050 D=B
10060 B=A
10070 A=D
10080 IF A/B>INT(A/B} THEN lOOlO
10090 RETURN
lOSOO REM PRESENTATION ORDER
lOSlO E=INT(RND(0)*4)-t-l
10520 RETLff^N
llOOO REM JUDGE ANSWERS
IIOIO IF S1=A THEN GOTO 11040
11020 IF S1=B THEN 11060
11030 GOTO moo
11040 IF S2=B THEN 11080
iioso GOTO moo
11060 IF S2=A THEN GOTO 11080
11070 GOTO moo
11080 HT=1
11090 RETURN
moo HT=0
llllO i=o
11120 RETURN
12000 REM REWARD
12010 FOR 1=1 TO 50
12020 PRINT " YOU FOUND THEM!";
12030 NEXT I
12040 GOTO 15000
14000 REM WRONG ANSWER
14010 PRINT
14020 PRINT "SC»»RY! TRY AGAIN!"
14030 PRINT
14040 RETURN
15000 PRINT
15010 PRINT
15020 PRINT
15030 PRINT "IT TOOK ";TRj" TRIES!"
15040 PRINT
15050 PRINT 21
15060 PRINT
15070 PRINT "DO YOU WANT ANOTHER PROBLEM?"
1S080 PRINT "(YES OR NO)"
1S090 INPUT S%
15100 IF S»="YES" THEN 15130
151 lO PRINT "BYE FOR NOW!"
15120 END
1S130 TR=0
1S140 HT=0
1S150 I=0
1S160 GOTO 4000
TABLE OF VARIABLES
P(
1010 4040 4060 4070 4090 4090
4100 4110 4110 4110 4110 4140
NA«
1020 2140 2160 2290
S%
1030 15090 15100
I
2010 2030 2040 2050 2060 2080
2100 2120 2340 2350 4010 4120
4120 4130 4140 4320 llllO 12010
12030 15150
MX
2300 2330 lOOlO 10020
E
4040 4060 4070 4090 4090 4100
10510
A
4150 4170 4190 4210 lOOlO 10030
10060 10070 10080 10080 IIOIO 11060
B
4150 4170 4190 4210 10020 10030
10050 10060 10080 10080 11020 11040
SI
4270 llOlO 11020
S2
4270 11040 11060
TR
4280 4280 15030 15130
22
HT
4300 4340 11080 11100 15140
10050 10070
PROGRAM LISTING: MICROSOFT BASIC
THE
RND
lOO REM GUESS
SOO REM RESEED
510 RANDOMIZE
lOOO REM INITIALIZATION
lOlO DIM P<4>
1020 REM USE FULL SCREEN
1030 POKE 82, O
2000 REM INTRODUCTION
2010 FOR I = 1 TO 200
2020 PRINT RND (9999);"
2030 NEXT I
FOR I =
NEXT I
FOR I =
PRINT
NEXT I
PRINT "
FOR I =
PRINT
NEXT I
PRINT "WHAT
NA«
NUMBERS BY GARY ORWIG
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
21^>0
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
1 TO 3000
1 TO 25
GUESS THE NUMBERS'*
1 TO 10
IS YOUR NAME?"
IWnJT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
FOR I
NEXT I
PRINT
PRINT
PRINT
PRINT
PRINT
"IT'S NICE TO MEET YOU, ";NA«;
"I WILL THINK OF TWO NUMBERS WJD"
"ADD, SUBTRACT, MULTIPLY, AND"
"DIVIDE THEM. I WILL THEN MIX UP"
"THE ANSWERS AND SHOW THEM TO YOU.
■IT WILL BE YOUR JOB TO FIGURE
■THE ORIGINAL TWO NUMBERS!"
OUT'
"WHAT IS THE LARGEST NUMBER YOU"
"WANT TO WORK WITH, ";NA*
MX
"OK, I WILL TRY NOT TO GIVE YOU"
"PROBLEMS THAT HAVE ANSWERS OVER ";MX;
= 1 TO 2000
"HERE WE GO!
23
THEN 40S0
OR E = P(2) THEN 4080
4000 REM MAIN PROGRAM
4010 I = O
4020 60SUB iOOOO
4030 GOSUB lOSOO
4040 P(l) = E
40S0 GOSUB lOSOO
4060 IF E = P(l)
4070 P(2) = E
4080 GOSUB 10500
4090 IF E = P(l)
4100 P<3) = E
4110 P<4) = lO - (P(l) + P<2) + P<3))
4120 1=1+1
4130 IF I = 3 ThEN 4230
4140 ON P(I) GOTO 4150,4170,4190,4210
4150 PRINT A + b;" ";
4160 GOTO 4120
4170 PRINT A - b;" ";
4180 GOTO 4120
4190 PRINT A » b;" ";
4200 GOTO 4120
4210 PRINT A / B;" ";
4220 GOTO 4120
4230 PRINT
4240 PRINT "WHAT DO YOU THINK THE TWO"
4250 PRINT "NUMBERS ARE? TYPE THEM IN"
4260 PRINT "LIKE THIS: 6,7"
4270 INPUT S1,S2
4280 TR = TR + 1
4290 GOSUB llOOO
4300 IF HT = 1 THEN 4340
4310 GOSUB 14000
4320 I = O
4330 GOTO 4120
4340 HT = O
4350 GOSUB 12000
IOOOO REM RANDOM I ZAT I cm
lOOlO A = RND(MX>
10020 B = RND(MX)
10030 IF A < B THEN 10050
24
B =
IF A
10040 GOTO 10080
10050 D = B
10060 B = A
10070 A = D
10080 IF A / B > INT <A / B) THEN 10010
10090 RETURN
10500 REM PRESENTATION ORDER
lOSlO E = RND(4)
10520 RETURN
llOOO REM JUDGE ANSWERS
IF SI = A GOTO 11040
IF SI = B THEN 11060
11030 GOTO moo
11040 IF S2 = B THEN 11080
11050 GOTO moo
IF S2 = A GOTO 11080
moo
1
IIOIO
11020
11060
11070 GOTO
11080 HT =
11090
11100
11110
11120
12000
12010
12020
12030
12040
14000
14010
14020
14030
14040
15000
15010
15020
15030
1S040
15050
15060
15070
15080
15090
15100
15110
15120
15130
15140
15150
15160
YOU FOUND THEM!";
RETURN
HT =
1=0
RETURN
REM REWARD
FOR I = 1 TO 50
PRINT "
NEXT I
GOTO 15000
REM WRONG ANSWER
PRINT
PRINT "SORRY! TRY AGAIN!"
PRINT
RETURN
PRINT
PRINT
PRINT
PRINT "IT TOOK ";TR;" TRIES!"
PRINT
PRINT
PRINT
PRINT "DO YOU WANT ANOTHER PROBLEM?'
PRINT " (YES OR NO)
INPUT S«
IF S« = "YES" THEN 15130
PRINT "BYE FOR NOW!"
END
TR = O
HT = O
1=0
GOTO 4000
TABLE OF VARIABLES
A - ONE NUMBER
4150 4170 4190 4210 lOOlO 10030
10060 10070 10080 10080 IIOIO
11060
B - THE OTHER NUMBER
4150 4170 4190 4210 10020 10030
10050 10060 10080 10080 11020
11040
D - TRANSFER VARIABLE
10050 10070
E - PRESENTATION ORDER
4040 4060 4070 4090 4090 4100
10510
HT - HIT
4300 4340 11080 lllOO 15140
I - COUNTER
2010 2030 2040 2050 2060 2080
2100 2120 2340 2350 4010 4120
25
4120 4130 4140 4320 11110 12010
12030 151S0
MX - MAXIMUM SIZE
2300 2330 lOOlO 10020
NA« - NAME
2140 2160 2290
P<») - PRESENTATION ORDER
1010 4040 4060 4070 4090 4090
4100 4110 4110 4110 4110 4140
S« - STUDENT ANSWER
15090 15100
51 - STUDENT ANSWER
4270 11010 11020
52 - STUDENT ANSh^R
4270 11040 11060
TR - NUMBER OF TRIES
4280 4280 15030 15130
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
7JOYCE
IT'S NICE TO MEET YOU, JOYCE.
I WILL THINK OF TWO NUMBERS AND
ADD, SUBTRACT, MULTIPLY, AND
DIVIDE THEM. I WILL THEN MIX UP
THE ANSWERS AND SHOW THEM TO YOU.
IT WILL BE YOUR JOB TO FIGURE OUT
THE ORIGINAL TWO NUMBERS!
WHAT IS THE LARGEST NUMBER YOU
WANT TO WORK WITH, JOYCE
?20
OK, I WILL TRY NOT TO GIVE YOU
PROBLEMS THAT HAVE ANSWERS OVER 20.
HERE WE GO!
2 24 8 128
26 WHAT DO YOU THINK THE TWO
NUMBERS ARE? TYPE THEM IN
LIKE THIS: 6,7
?12,2
SORRY! TRY AGAIN!
2 24 8 128
WHAT DO YOU THINK THE TWO
NUMBERS ARE? TYPE THEM IN
LIKE THIS: 6,7
?8, 16
YOU FOUND THEM! YOU FOUND THEM! YCMJ FO
UND THEM! YOU FOUND THEM! YOU FOUND THEM!
YOU FOUND THEM! YOU FCXJND THEM! YOU FOUND T
HEM! YOU FOUND THEM! YOU FOUND THEM!
IT TOOK 2 TRIES!
DO YOU WANT ANOTHER PROBLEM?
(YES OR NO)
?N0
BYE FOR NOW!
27
Guess the Word
PROGRAM DESCRIPTION
Spelling skills and word recognition are practiced in this
program. The computer selects a word from an instructor-made
data file and then presents an appropriate number of blanks to be
filled by letters. You try to guess the letters that make up the
selected word. At any point, you may enter an "!". This will allow
you to guess the whole word and reduce the number of times it
takes you to guess the word. The computer also gives you one hint
when you enter a "?".
PROGRAM NOTES
If you are a real graphics whiz, develop a subroutine that will
gradually "hang" a man and slip it into the 14000 section of the
program. If you prefer less violence, draw a robot that gradually
walks off a cliff.
Of course, you can enter your own words in the data section
(lines 21000 . . . ). Just enter each word followed by its hint. Set TL
equal to the number of words.
PROGRAM LISTING: BASIC
28
lOO REM GUESS THE WORD BY GARY ORWIG
lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS
IN YOUR DATA SET.
lOlO TL-20
1020 BL=TL
1030 TL=TL+1
1040 DIM A«(20>,B«(20),FL«(TL«20),HN«(TL«20>,C«(20>,GS«(40),
NA« (30) , S* (20) , WD« (20) , FLI« (20) , HNI« (20)
1050 FOR 1=1 TO TL
1060 FL* (1*20-19) =••
1070 NEXT I
1080 HN*=FL*
1090 A*="
1 1 00 B«»A« : c«=A« : s«=A« : wd«=a« : GS« ( i ) »A« : 6S« (21) »A« : fl I «»A« : H
NI«=A«
1110 LN=1
1120 FOR 1=1 TO TL
1130 READ FLI«,HNI$
1140 FL*(LN)=FLI*
1150 HN«(LN)=HNI«
1160 LN=LN+20
1170 NEXT I
1180 GS*=""
1190 REM USE FULL SCREEN
1200 PCM<E 82,0
1210 PRINT
1220 TL=TL-1
2000 REM INTRODUCTION
2010 FOR 1=1 TO 12
2020 PRINT
2030 NEXT I
2040 PRINT " GUESS THE WORD"
2050 FOR 1=1 TO 12
2060 PRINT
2070 NEXT I
2080 FOR 1=1 TO ISO
2090 NEXT I
2100 PRINT "WHAT IS YCMJR NAME";
INPUT NA«
"I AM HAPPY TO MEET YOU, ";NA»;"."
21 lO
2120 PRINT
"I AM GOING TO THINK OF A WORD,"
"AND IT WILL BE YOUR JOB TO"
"GUESS IT. YOU DO THIS BY"
"GUESSING ONE LETTER AT A TIME."
"AT ANY TIME YOU CAN TYPE IN"
"AN ' ! ' AND THEN GUESS THE WHOLE"
"WORD. IF YOU NEED A HINT, TYPE"
"IN A •?' AND I WILL TRY TO HELP YOU.
2130 PRINT
2140 PRINT
2150 PRINT
2160 PRINT
2170 PRINT
2180 PRINT
2190 PRINT
22<X) PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
2260 PRINT
2270 PRINT "HERE WE GO!"
2280 PRINT
2290 PRINT
4000 REM MAIN PROGRAM
4010 GOSUB 10<X>0
4020 C*=FL» ( R»20- 1 9 , R»20 )
4030 L=0
4040 L=L+1
4050 IF C»(L,L)=" " THEN 4070
4060 GOTO 4040
29
'GUESS A LETTER (OR '?' OR '!')
4070 L=L-1
4080 C*=C«(1,L)
4090 FOR 1=1 TO L
4100 A«(I)=C«(I,I)
41 lO B« < I )=••♦••
4120 NEXT I
4130 GOSUB 18000
4140 PRINT
4150 PRINT
4160 PRINT
4170 PRINT
4180 HT=0
4190 INPUT S%
4200 IF LEN(S«)=1 THEN 4230
4210 PRINT "TYPE IN ONLY ONE LETTER!"
4220 GOTO 4190
4230 GOSUB llOOO
4240 IF HT=2 THEN 4170
4250 TR=TR+1
42AO IF HT=1 THEN 4300
4270 GOSUB 14000
4280 GOSUB 18000
4290 GOTO 4140
4300 HT=0
4310 GOSUB 12000
4320 GOSUB 18000
4330 GOSUB ISOOO
4340 GOTO 4140
lOOOO REM RANDOMIZATION
lOOlO R=INT(RND(0)*BL)-M
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF S«="?" THEN 16000
11020 IF S«="!" THEN 17000
11030 FOR 1=1 TO L
11040 IF A«(I,I)=S« THEN 11070
llOSO NEXT I
11060 RETURN
11070 HT=1
11080 B«<I,I)=S«
11090 NEXT I
11100 RETURN
12000 REM REWARD
12010 PRINT "GOOD GUESS, ";NA«|"!"
12020 RETURN
14000 REM WRONG GUESS
14010 PRINT "THERE ARE NO "JS*;"'S IN"
14020 PRINT "THE WORD, "|NA«;"."
14030 RETIA^N
ISOOO REM SCORE KEEPING
15010 IF WD«=C« THEN 19030
15020 RETURN
15030 PRINT "YOU FOUND THE WORD IN "jTRl
1S040 GOTO 20000
16000 REM HINT
16010 PRINT
TRIES!
30
16020 PRINT HN«(R»20-19,R»20>
16030 HN«(R»20-19,R*20)=''N0 MORE HINTS!"
16040 HT=2
16050 RETURN
17000 REM SEE IF STUDENT KNOWS WORD
17010 PRINT "WHAT DO YOU THINK THE WORD IS'
17020 INPUT S«
17030 IF S*=C* THEN 15030
17040 PRINT "SORRY — KEEP TRYING"
17050 HT=2
17060 GOTO 14000
18000 REM PRINT ROUTINE
18010 WD»="
18020 WD«=""
18030 FOR 1=1 TO L
18040 WD«(LEN(WD«)-M)»B4»(I,I)
18050 NEXT I
18060 6S«(LEN(GS«)-«-l)sS«(l,l)
18070 PRINT
18080 PRINT WD«
18090 PRINT
18100 PRINT "LETTERS GUESSED: ";8S*
18110 RETURN
20000 REM CLOSING
20010 PRINT "WOULD YOU LIKE ANOTHER WCMRD
20020 INPUT S*
20030 IF S*="NO" THEN 20200
20040 TR=0
20050 HT=0
20060 WD*="
20070 GS«==WD«
20080 S«=WD»
20090 WD«=" "
20100 GS«=" "
20110 S*=" "
20120 REM DELETE CORRECT WORD FROM LIST
20 1 30 FL* ( R»20- 1 9 , R»20 ) =FL» < BL«20- 1 9 , BL»20 )
20 1 40 HN* ( R*20- 1 9 , R*20 ) =HN» < BL»20- 1 9 , BL*20 >
20150 BL=BL-1
20160 IF BL=0 THEN GOTO 20180
20170 GOTO 4010
20180 PRINT "SORRY! YOU HAVE USED ALL THE"
<YES OR NO)
20190 PRINT "WORDS I KNOW, ";NA*;"!"
20200 END
21000 REM DATA
21010 DATA EVENING, DARK, COMPUTER, DIGITAL
2 1 020 DATA RHYTHM , MUS I C , QU I Z , TEST , LYNX , CAT , KNOCK , TAP , UGLY , MO
NSTER
21030 DATA VULTURE, BIRD, YAWN, MOUTH, ERUPT, VOLCANO, FUDGE, CANDY
, HUSK, CORN
2 1 040 DATA PLUTO , PLANET , GYPSY , TRAVELER , HOLY , CHURCH , HUGE , B I G ,
INJURY, HURT
210S0 DATA MUMPS, ILLNESS, ZERO, HONE, 2 INC, METAL, OXYGEN, BREATHE
, DUTY, JOB
21060 DATA EOF, EOF
31
32
TABLE OF VARIABLES
TL
1010 1020 1030 1030 1040 1040
1050 1120 1220 1220
BL
1020 10010 20130 20130 20140 20140
20150 20150 20160
A«
1040 1090 llOO 1100 llOO 1100
1100 1100 1100 1100 4100 11040
1040 llOO 4110 11080 18040
FL«
1040 1060 1080 1140 4020 20130
20130
UN*
1040 1080 1150 16020 16030 20140
20140
C*
1040 llOO 4020 4050 4080 4080
4100 ISOIO 17030
6S«
1040 llOO llOO 1180 18060 18060
18100 20070 20100
NA«
1040 21 lO 2120 12010 14020 20190
1040 llOO 4190 4200 IIOIO 11020
11040 11080 14010 17020 17030 18060
20020 20030 20080 20110
1040 llOO 15010 18010 18020 18040
18040 18080 2OO60 20070 20080 20090
FLI*
1040 1100 1130 1140
HNI«
1040 llOO 1130 IISO
I
1050 1060 1070 1120 1170 2010
2030 2050 2070 2080 2090 4090
4100 4100 4100 41 lO 4120 11030
11040 11040 11050 11080 11080 11090
18030 18040 18040 180S0
LN
1110 1140 1150 1160 1160
4020 4020 lOOlO 16020 16020 16030
16030 20130 20130 20140 20140
4030 4040 4040 4050 4050 4070
4070 40a0 4090 11030 18030
HT
4180 4240 4260 4300 11070 16040
17050 20050
TR
4250 4250 15030 20040
PROGRAM LISTING: MICROSOFT BASIC
lOO REM 6UESS THE WORD BY GARY 0RWI6
500 REM RESEED RND
SIO RANDOMIZE
lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORD
S IN YOUR DATA SET.
lOlO TL = 20
1020 BL = TL
1030 DIM A1i(20),B*(20),FL»<TL),HN*(TL)
1040 FOR I = 1 TO TL
lOSO READ FL«(I),HN«(I)
1060 NEXT I
1070 REM USE FULL SCREEN
1080 POKE 82, O
2000 REM INTRODUCTION
2010 FOR I = 1 TO 12
2020 PRINT
2030 NEXT I
2040 PRINT ••
2050 FOR I =
2060 PRINT
2070 NEXT I
2080 FOR I =
2090 NEXT I
2100 PRINT "WHAT IS YOUR NMIE";
21 lO INPUT NA«
2120 PRINT "I AM HAPPY TO r«ET YOU,
2130 PRINT
2140 PRINT
2150 PRINT
2160 PRINT
2170 PRINT
2180 PRINT
1 TO
GUESS T^£ WORD'
12
1 TO lOOO
';na»;
'■I AM GOING TO THINK OF A WORD,
"AND IT WILL BE YOUR JOB TO"
"GUESS IT. YOU DO THIS BY"
33
34
2190 PRINT "GUESSING ONE LETTER AT A TIME."
2200 PRINT
2210 PRINT "AT ANY TIME YOU CAN TYPE IN"
2220 PRINT "AN ' ! ' AND THEN GUESS THE WHOLE"
2230 PRINT "WORD. IF YOU NEED A HINT, TYPE"
2240 PRINT "IN A '?' AND I WILL TRY TO HELP YOU.
2250 PRINT
2260 PRINT
2270 PRINT "HERE WE GO!"
2280 PRINT
2290 PRINT
4000 REM MAIN PROGRAM
4010 60SUB 10000
4020 C% = FL«<R)
4030 L = LEN (C*)
4040 FOR I = 1 TO L
4050 A«(I) « MID« (C«, 1,1)
4060 B«(I) = "*"
4070 NEXT I
4080 60SUB 18000
4090 PRINT
4100 PRINT
4110 PRINT
4120 PRINT "GUESS A LETTER (OR "?' OR '!')."
4130 HT = O
4140 INPUT S»
4150 IF LEN (S«) = 1 THEN 4180
41AO PRINT "TYPE IN ONLY ONE LETTER!"
4170 GOTO 4140
4180 GOSUB llOOO
4190 IF HT = 2 THEN 4120
4200 TR = TR + 1
4210 IF HT = 1 THEN 4250
4220 GOSUB 14000
4230 GOSUB 18000
4240 GOTO 4090
4250 HT = O
4260 GOSUB 12000
4270 GOSUB 18000
4280 GOSUB 15000
4290 GOTO 4090
lOOOO REM RANDOMIZATION
lOOlO R - RND(BL)
10020 RETURN
llOOO REM JUDGE ANSWER
11010 IF S* = "?" THEN 16000
11020 IF S* = "!" THEN 17000
11030 FOR I = 1 TO L
11040 IF A«(I) s S« THEN B«(I) « s*
11050 IF A«<I) = S« THEN HT = 1
11060 NEXT I
11070 RETURN
12000 REM REWARD
12010 PRINT "GOOD GUESS, ";NA*J"!"
12020 RETURN
14000 REM WRONG GUESS
14010 PRINT "THERE ARE NO ";S*;"'S IN"
■•;TR;
14020 PRINT "THE WORD, •■;NA«;".»
14030 RETURN
15000 REM SCORE KEEPING
15010 IF WD« = C* THEN 15030
15020 RETURN
15030 PRINT "YOU FOUND THE WORD IN
15040 GOTO 20000
16000 REM HINT
16010 PRINT
16020 PRINT HN«(R>
16030 HN«(R) = "NO MORE HINTS!"
16040 HT = 2
160S0 RETURN
17000 REM SEE IF STUDENT KNOWS WORD
17010 PRINT "WHAT DO YOU THINK THE WORD IS";
17020 INPUT S%
17030 IF S« = C% THEN 15030
17040 PRINT "SORRY — KEEP TRYING"
17050 HT = 2
17060 GOTO 14000
18000 REM PRINT ROUTINE
18010 WD* = ""
18020 FOR I = 1 TO L
18030 WD« s WD« + B«(I)
18040 NEXT I
18050 GS« - 6S« ••- SS
18060 PRINT
18070 PRINT WD«
18080 PRINT
18090 PRINT "LETTERS GUESSED: ";GS*
18100 RETURN
20000 REM CLOSING
20010 PRINT "WOULD YOU LIKE ANOTHER WORD
20020 INPUT S*
IF S% = "NO" THEN 20170
O
O
TRIES!"
(YES OR NO)";
20030
20040 TR =
20050 HT =
20060 WD« = ""
20070 GS* = ""
20080 S» = ""
20090 REM DELETE CORRECT WORD FROM LIST
20100 FL«<R) = FL*(BL)
20110 HN«(R) = t^«<BL)
20120 BL = BL - 1
20130 IF BL = O THEN «DTO 20150
20140 GOTO 4010
20150 PRINT "SORRY! YOU HAVE USED ALL THE"
20160 PRINT "WORDS I KNOW, ";NA*;"!"
20170 END
21000 REM DATA
21010 DATA EVENING, DARK, COrff'UTER, DIGITAL
21020 DATA RHYT Wl, MUSIC, QUIZ, TEST, LYNX, CAT, KNOCa<,TAP,UGLY,M
ONSTER
2 1 030 DATA VULTURE , B I RD , YAWN , MCHJTH , ERUPT , VOLCANO , FUDGE , CANDY
,KHJSK,CORN
2 1 040 DATA PLUTO , PLANET , GYPSY , TRAVELER , HOLY , CHURCH , HUGE , B I G
, INJURY, HURT
35
36
21050 DATA MUMPS, ILLNESS, ZERO, NONE, ZINC, METAL, OXYQEN, BREATH
E, DUTY, JOB
TABLE OF VARIABLES
A«(*) - WORD BROKEN INTO LETTERS
1030 4050 11040
B«(*) - ARRAY HOLDING *'S OR GUESSED LETTERS
1030 4060 11080 18030
BL - BOTTOM OF LIST
1020 lOOlO 20100 20110 20120
20120 20130
C* - CORRECT WORD
4020 4030 4050 15010 17030
FL«(») - WORD LIST
1030 1050 4020 20100 20100
GS« - LETTERS GUESSED
18050 18050 18090 20070
HN«(«) - HINT LIST
1030 1050 16020 16030 20110
20110
HT - HIT
4130 4190 4210 4250 11070 16040
17050 20050
I - COUNTER
1040 1050 1050 1060 2010 2030
2050 2070 2080 2090 4040 4050
4050 4060 4070 11030 11040
11050 11080 11090 18020 18030
18040
L - LENGTH OF WORD
4030 4040 11030 18020
NA* - NAME
2110 2120 12010 14020 20160
R - RANDCM1 NUMBER
4020 lOOlO 16020 16030 20100
20110
S« - STUDENT ANSWER
4140 4150 11010 11020 11040
11080 14010 17020 17030 18050
20020 20030 20080
TL - NIAIBER OF WORDS IN LIST
lOlO 1020 1030 1030 1040
TR - NUMBER OF TRIES
4200 4200 15030 20040
WD« - ASSEMBLED WORD WITH MISSING LETTERS
15010 18010 18030 18030 18070
20060
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME? JENNIFER
I AM HAPPY TO MEET YOU, JENNIFER.
I AM GOING TO THINK OF A WORD,
AND IT WILL BE YOUR JOB TO
GUESS IT. YOU DO THIS BY
GUESSING ONE LETTER AT A TIME.
AT ANY TIME YOU CAN TYPE IN
AN ' ! ' AND THEN GUESS THE WHOLE
WORD. IF YOU NEED A HINT, TYPE
IN A '?' AND I WILL TRY TO HELP YOU.
HERE WE GO!
******
LETTERS GUESSED:
GUESS A LETTER (OR "?' OR ' ! ' )
?A
Th^RE ARE NO A'S IN
THE WORD, JENNIFER.
******
LETTERS GUESSED: A
GUESS A LETTER (OR "?' OR '!')
?E
THERE ARE NO E'S IN
THE WORD, JENNIFER.
******
LETTERS GUESSED: AE
37
GUESS A LETTER (OR '?' OR '!')
?I
THERE ARE NO I'S IN
THE WORD, JENNIFER.
*«**«■«■
LETTERS GUESSED: AEI
GUESS A LETTER (OR '?' OR '!')
?0
THERE ARE NO O'S IN
THE WORD, JENNIFER.
LETTERS GUESSED: AEIO
GUESS A LETTER (OR '?' OR '•')
?U
THERE ARE NO U'S IN
THE WORD, JENNIFER.
*«■*«««■
LETTERS GUESSED: AEIOU
GUESS A LETTER (OR '?' OR '!')
?Y
GOOD GUESS, JENNIFER!
»»Y»«*
LETTERS GUESSED: AEIOUY
GUESS A LETTER (OR '?' OR '!*),
??
MUSIC
GUESS A LETTER (OR '?' OR '!')
?R
GOOD GUESS, JENNIFER!
RVY-K-H-*
LETTERS GUESSED: AEIOUYR
38
GUESS A LETTER (OR '?' OR '!').
?f
WHAT DO YOU THINK THE WORD IS7RHYTHM
YOU FOUND THE WORD IN 7 TRIES!
WOULD YOU LIKE ANOTHER WORD (YES OR NO)?NO
39
Math Tutor
PROGRAM DESCRIPTION
In this program the computer presents problems on simple
addition, subtraction, multiplication, and division. You select the
math category you want and the number of problems you want to
work in that category. The computer also asks you the largest set of
numbers (digits) you want to work with in the category selected,
and, in the case of division, the computer allows you to choose
whether or not you want to have remainders in your division
problems. Correct answers and wrong answers are acknowledged,
and, after you have finished the number of problems that
you originally selected to decipher, the computer tells you how
many problems you did correctly.
PROGRAM NOTES
1. After a pre-set number of wrong answers to a problem, give
the correct answer, and then go on to another problem.
2. See if you can come up with a "mixed" selection, where all
types of problems will appear at random.
3. If you have a printer, consider saving any "missed" problems
during the program. Print these problems out as a "home-
work" assignment at the end of the program. Three arrays
could be set up to cover the two numbers and the arithmetic
process (+, - *, or /).
40
PROGRAM LISTING: BASIC
100 REM MATH TUTOR BY BARY 0RWI6
1000 REM INITIALIZE
1010 DIM NA«(50)
1020 DIM SA«<SO)
1030 DIM RE«(10}
1040 REM USE FULL SCREEN
1050 POKE 82,0
1060 PRINT
2000 REM INTRODUCTION
2010 PRINT
2020 PRINT "*»♦♦*»*****»»****»*»♦♦♦»**♦»**»**»*•♦♦♦«•
2030 PRINT
2040 PRINT
2050 PRINT
2060 PRINT
MATH TUTOR"
*«***«-««««***«"N'«««'*«-ll-'ll"»»*«««*«-«««-«««"ll~li~iHI'*
1 TO 1000
IS YOUR NAME";
2070 FOR DE
2080 NEXT DE
2090 PRINT "WHAT
2100 INPUT NA«
21 lO PRINT
2120 PRINT
2130 PRINT "I AM HAPPY TO MEET YOU, ";NA*;".
2140 PRINT "WE ARE GOING TO PRACTICE SOME"
2150 PRINT "MATH PROBLEMS."
2160 REM OPERATING PARAMETERS
2170 PRINT
2180 PRINT
2190 PRINT
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
"WOULD YOU LIKE TO PRACTICE'
"1. ADDITION"
"2. SUBTRACTION"
"3. MULTIPLICATION"
"4. DIVISION"
2260
2270
2280
2290
2300
"(TYPE IN THE NUMBER YOU WANT)
INPUT SA*
IF SA«="1" THEN 23S0
THEN 2350
THEN 23SO
THEN 2350
">NA«
OR 4!"
IF SA«="2"
IF SA»="3"
IF SA«="4"
2310 PRINT
2320 PRINT "PLEASE PAY ATTENTION,
2330 PRINT "TYPE IN ONLY A 1,2,3,
2340 GOTO 2200
2350 PRINT
2360 PRINT "HOW MANY PROBLEMS DO YOU"
2370 PRINT -W#WIT, ";NA*;
2380 INPUT NU
2390 PRINT
2400 PRINT "VERY GOOD, ";NU5" IT WILL BE
2410 PRINT
2420 PRINT "WHAT IS THE LARGEST NUMBER"
2430 PRINT "YOU WANT TO WORK WITH ";NA«;
2440 INPUT MX
41
42
2450 PRINT
2460 PRINT "GREAT! I WILL TRY NOT TO GIVE YOU*
2470 PRINT "ANY NUMBERS OVER "JMX;"."
2480 IF SA«="4" THEN 2620
2490 PRINT
2500 PRINT "I AM NOW READY TO START!"
2510 PRINT
2520 FOR DE=1 TO 500
2530 NEXT DE
2540 PRINT "HERE WE GO!!"
2550 FOR DE=1 TO 500
2560 NEXT DE
2570 PRINT
2580 PRINT
2590 PRINT
2600 PRINT
2610 GOTO 4000
2620 PRINT
2630 PRINT "DO YOU WANT DIVISION PROBLEMS"
2640 PRINT "WITH REMAINDERS (YES OR NO)";
26SO IINH=>UT RE«
2660 IF RE*="YES" THEN 2720
2670 IF RE«="ls«3" THEN 2720
2680 PRINT
2690 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE"
2700 PRINT
27 lO GOTO 2620
2720 GOTO 2490
4000 REM MAIN PROGRAM
4010 IF SA*="1" THEN 4730
4020 IF SA»="2" THEN 4570
4030 IF SA*="3" THEN 4470
4040 IF RE«="YES" THEN 4220
4050 REM DIVISION WITHOUT REMAINDER
4060 GOSUB lOOOO
4070 HT=1
4080 IF A<B THEN 41 lO
4090 C=A/B
4100 GOTO 4150
41 lO D=B
4120 B=A
4130 A=D
4140 GOTO 4090
4150 IF C-INT<C)>0 THEN 4060
4160 PRINT A;" DIVIDED BY "IB;" EQUALS";
4170 INPUT SA
4180 GOSUB llOOO
4190 GOSUB 12000
4200 GOSUB 15000
4210 GOTO 4050
4220 REM DIVISION WITH REMAINDER
4230 GOSUB lOOOO
4240 HT=1
4250 IF A<B THEN 4290
4260 C=INT(A/B)
4270 RE='A-(C»B)
4280 GOTO 4330
4290 D=B
4300 B=A
4310 A=D
4320 GOTO 4260
4330 PRINT
4340 PRINT AJ" DIVIDED BY "IB;" EQUALS?"
4350 PRINT "WHAT IS THE WHOLE NUMBER";
4360 INPUT SA
4370 GOSUB llOOO
4380 GOSUB
4390 PRINT
4400 PRINT
4410 INPUT SA
4420 C=RE
4430 GOSUB
4440 GOSUB
4450 GOSUB
12000
"AND WHAT IS THE REMAINDER?"
"TYPE IN O IF THERE IS NONE.'
IIOOO
12000
15000
4460 GOTO 4220
4470 REM MULTIPLICATION
4480 GOSUB 10000
4490 HT=1
4500 C=A»B
4510 PRINT A;
4520 INPUT SA
4530 GOSUB llOOO
4540 GOSUB 12000
4550 GOSUB 15000
4560 GOTO 4470
4570 REM SUBTRACTION
4580 GOSUB lOOOO
4590 HT=1
4600 IF A<B THEN 4630
4610 C==A-B
4620 GOTO 4670
4630 D-B
4640 B=A
4650 A^D
4660 GOTO 46 lO.
4670 PRINT A;
4680 INPUT SA
4690 GOSUB llOOO
4700 GOSUB 12000
4710 GOSUB 15000
4720 GOTO 4570
4730 REM ADDITION
4740 GOSUB lOOOO
4750 HT=1
4760 C=A+B
4770 PRINT A;
4780 INPUT SA
4790 GOSUB llOOO
4800 GOSUB
48 lO GOSUB
TIMES ";b;" EQUALS";
MINUS ";B;" EQUALS";
PLUS ";B;" EQUALS";
12000
15000
4820 GOTO 4730
lOOOO REM RANDOMIZING
lOOlO A^'INTCMXvRNDtO))-!-!
10020 BsINT(MX«RND(0)>-*-l
43
44
10030
llOOO
11010
11020
11030
11040
11050
11060
11070
12000
12010
12020
12030
12040
12050
12060
12070
12080
12090
12100
12110
12120
12130
12140
14000
14010
14020
14030
14040
14050
14060
14070
14080
14090
14100
14110
14120
14130
14140
14 ISO
14160
14170
15000
15010
15020
15030
20000
20010
20020
20030
20040
20050
20060
20070
20080
20090
20100
RETURN
REM JUDGE ANSWER
IF SA=C THEN 11070
GOSUB 14000
PRINT
PRINT "TRY AGAIN!"
INPUT SA
GOTO IIOIO
RETURN
REM REWARDS
PRINT
I=INT (5«RND (O) ) +1
ON I GOTO 12050,12070,12090,12110,12130
REM REWARDS
PRINT "GREAT!"
RETURN
PRINT "SUPER!"
RETURN
PRINT "FANTASTIC!"
RETURN
PRINT "YOU'RE REALLY GOING NOW, ";NA*
RETURN
PRINT "THAT'S GREAT, ";NA*
RETURN
REM WRONG
PRINT
IF HT=0 THEN 14050
WR=WR+1
HT=0
I=INT(5»RND(0) )+l
ON I GOTO 14080,14100,14120,14140,14160
REM WRONGS
PRINT "OOPS!"
RETURN
PRINT "LOOK CLOSER, ";NA«
RETURN
PRINT "NO "
RETURN
PRINT "ARE YOU PAYING ATTENTION, ";NA»
RETURN
PRINT "SORRY!"
RETURN
REM SCORE KEEPING
TL=TL+1
IF TL=NU THEN 20000
RETURN
REM CLOSING
PRINT
PRINT "THAT'S ALL!"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT NU;
END
I HOPE YOU HAD FUN,
YOU HAD ";NU-WR;" out OF
PROBLEMS CORRECT ! "
TABLE OF VARIABLES
NAS
lOlO 2100 2130 2320 2370 2430
12110 12130 14100 14140 20040
SAS
1020 2260 2270 2280 2290 2300
2480 4010 4020 4030
RE«
1030 2650 2660 2670 4040
DE
2070 2080 2520 2530 2550 2560
NU
2380 2400 15020 20080 20090
MX
2440 2470 lOOlO 10020
HT
4070 4240 4490 4590 4750 14020
14040
A
4080 4090 4120 4130 4160 4250
4260 4270 4300 4310 4340 4500
4510 4600 4610 4640 4650 4670
4760 4770 10010
B
4080 4090 4110 4120 4160 4250
4260 4270 4290 4300 4340 4500
45 lO 4600 4610 4630 4640 4670
4760 4770 10020
C
4090 4150 4150 4260 4270 4420
4500 4610 4760 IIOIO
D
41 lO 4130 4290 4310 4630 4650
SA
4170 4360 44 lO 4520 4680 4780
llOlO 11050
RE
4270 4420
I
12020 12030 14050 14060
45
WR
14030 14030 20080
TL
15010 15010 15020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM MATH TUTOR BY GARY ORWI6
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZATION
lOlO REM USE FULL SCREEN
1020 POKE 82,0
1030 CLS
2000 REM INTRODUCTION
2010 PRINT
2020 PRINT "*«***«'N"»«»«««««»»»««***«*«»*«"K'*«*'»»«««*«'
2030 PRINT
2040 PRINT
2050 PRINT
20&0 PRINT
2070 FOR DE =
2080 NEXT DE
2090 PRINT "WHAT
2100 INPUT NA«
21 lO PRINT
2120 PRINT
2130 PRINT "I AM HAPPY TO MEET YOU, '';NA«;
2140 PRINT "WE ARE GOltVB TO PRACTICE SOME"
2150 PRINT "MATH PROBLEMS."
2160 REM OPERATING PARAMETERS
2170 PRINT
2180 PRINT
2190 PRINT
MATH TUTOR"
1 TO 1000
IS YOUR NAME";
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
"WOULD YOU LIKE TO PRACTICE:
"1. ADDITION"
"2. SUBTRACTION"
"3. MULTIPLICATION"
"4. DIVISION"
2260
2270 IF SA* =
2280 IF SA« =
2290 IF SA* =
2300 IF SA» =
"(TYPE IN THE NUMBER YOU WANT)
INPUT SA«
"1" THEN 2350
"2" THEN 2350
"3" THEN 2350
"4" THEN 2350
23 lO PRINT
2320 PRINT "PLEASE PAY ATTENTION, "NA*
2330 PRINT "TYPE IN ONLY A 1,2,3, OR 4!"
2340 GOTO 2200
2350 PRINT
2360 PRINT "HOW MANY PROBLEMS DO YOU"
2370 PRINT "WANT, ";NA«;
2380 INPUT NU
2390 PRINT
46
'WHAT IS THE LARGEST NUMBER"
■YOU MANT TO WORK WITH ";NA«;
2400 PRINT "VERY GOOD, ";NU?" IT WILL BE!
2410 PRINT
2420 PRINT
2430 PRINT
2440 INPUT MX
2450 PRINT
2460 PRINT "GREAT! I WILL TRY NOT TO GIVE YOU'
2470 PRINT "ANY NUMBERS OVER ";MX?"."
2480 IF SA* = "4" THEN 2620
2490 PRINT
2500 PRINT "I AM NOW READY TO START!"
2510 PRINT
2520 FOR DE » 1 TO 500
2530 NEXT DE
2540 PRINT "HERE WE GO! !"
2550 FOR DE = 1 TO 500
2560 NEXT DE
2570 PRINT
2580 PRINT
2590 PRINT
2600 PRINT
26 lO GOTO 4000
2620 PRINT
2630 PRINT "DO YOU WANT DIVISION PROBLEMS"
2640 PRINT "WITH REMAINDERS <YES OR N0>";
2650 INPUT RE«
2660 IF RE* = -YES" THEN 2720
2670 IF RE* = "NO" THEN 2720
2680 PRINT
2690 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE"
2700 PRINT
27 I O GOTO 2620
2720 GOTO 2490
4000 raEM MAIN PROGRAM
4010 IF SA* = "1" THEN 4730
4020 IF SA* = "2" THEN 4570
4030 IF SA* = "3" THEN 4470
4040 IF RE* = "YES" THEN 4220
40S0 REM DIVISION WITHOUT REMAINDER
4060 GOSUB lOOOO
4070 HT = 1
4080 IF A<B THEN 4110
4090 C = A/B
4100 GOTO 4150
4110 D=B
4120 B=A
4130 A=D
4140 GOTO 4090
4150 IF C - INT<C) > O THEN 4060
4160 PRINT A;" DIVIDED BY ";B;" EQUALS";
4170 INPUT SA
4180 GOSUB llOOO
4190 GOSUB 12000
4200 GOSUB 15000
42 lO GOTO 4050
4220 REM DIVISION WITH REMAINDER
47
4230 60SUB 10000
4240 HT = 1
4250 IF A < B THEN 4290
4260 C = INT (A / B)
4270 RE = A - (C * B)
4280 GOTO 4330
4290 D = B
4300 B = A
4310 A = D
4320 BOTO 4260
4330 PRINT
4340 PRINT A|" DIVIDED BY "iBi" EQUALS?"
4350 PRINT "WHAT IS THE WHOLE NUMBER";
4360 INPUT SA
4370 GOSUB llOOO
4380 60SUB 12000
4390 PRINT "AND WHAT IS THE REMAINDER?"
4400 PRINT "TYPE IN O IF THERE IS NCMME. "
4410 INPUT SA
4420 C = RE
4430 GOSUB 11000
4440 GOSUB 12000
4450 GOSUB 15000
4460 GOTO 4220
4470 REM MULTIPLICATION
4480 GOSUB lOOOO
4490 HT = 1
4500 C = A * B
4510 PRINT a;" TIMES ";Bj" EQUM-S";
4520 INPUT SA
4530 GOSUB llOOO
4540 GOSUB 12000
4550 GOSUB 15000
4560 GOTO 4470
4570 REM SUBTRACTION
4580 GOSUB lOOOO
4590 HT = 1
4600 IF A < B THEN 4630
4610 C = A - B
4620 GOTO 4670
4630 D =: B
4640 B = A
4650 A = D
4660 GOTO 4610
4670 PRINT A;" MINUS ";B;" EQUALS";
4680 INPUT SA
4690 GOSUB llOOO
4700 GOSUB 12000
47 lO GOSUB 15000
4720 GOTO 4570
4730 REM ADDITION
4740 GOSUB lOOOO
4750 HT = 1
4760 C = A + B
4770 PRINT A;" PLUS ";B;" EQUALS";
4780 INPUT SA
48
4790 GOSUB llOOO
4800 60SUB 12000
4810 GOSUB ISOOO
4820 GOTO 4730
10000 REM RANDOMIZING
A = RND(MX)
B = RND<MX)
RETURN
REM JUDGE ANSWER
IF SA = C THEN 11070
GOSUB 14000
PRINT
PRINT "TRY AGAIN!"
INPUT SA
GOTO IIOIO
RETlfflN
REM REWARDS
PRINT
I = RND(S>
ON I GOTO 12050,12070,12090,12110,12130
REM REWARDS
PRINT "GREAT!"
RETURN
12070 PRINT "SUPER!"
12080 RETURN
PRINT "FANTASTIC!"
RETURN
PRINT "YOU'RE REALLY GOING NOW, ";NA«
RETURN
PRINT "THAT'S GREAT, ";NA«
RETURN
REM WRONG
PRINT
IF HT = O THEN 140S0
10010
10020
10030
11000
11010
11020
11030
11040
11 050
11060
11070
12000
12010
12020
12030
12040
120S0
12060
12090
12100
12110
12120
12130
12140
14000
14010
14020
14030
WR =
+ 1
14040 HT =
14050
14060
14070
14080
14090
14100
14110
14120
14130
14140
14150
14160
14170
15000
15010
15020
15030
20000
20010
20020
I =
ON I
REM
WR
O
RND(5)
GOTO 14080, 14100, 14120, 14140, 14160
WRONGS
PRINT "OOPS!"
RETURN
PRINT "LOOK CLOSER, ";NA*
RETURN
PRINT "NO "
RETURN
PRINT "ARE YOU PAYING ATTENTION, ";NA*
RETURN
PRINT "SORRY!"
RETURN
REM SCORE KEEPING
TL = TL + 1
IF TL = NU THEN 20000
RETURN
REM CLOSING
PRINT
PRINT "THAT'S ALL!"
49
20030 PRINT
20040 PRINT "I HOPE YOU HAD FUN, "INA*
20050 PRINT
20060 PRINT
20070 PRINT
20080 PRINT "YOU HAD ";NU - WR; » OUT OF
20090 PRINT NU;" PROBLEMS CORRECT!"
20100 END
TABLE OF VARIABLES
A - ONE OF THE NUMBERS
4080 4090 4120 4130 4160 4250
4260 4270 4300 4310 4340 4500
45 lO 4600 46 lO 4640 4650 4670
4760 4770 10010
B - THE OTHER NUMBER
40a0 4090 41 lO 4120 4160 4250
4260 4270 4290 4300 4340 4500
45 lO 4600 4610 4630 4640 4670
4760 4770 10020
C - CORRECT ANSWER
4090 4150 4150 4260 4270 4420
4500 4610 4760 IIOIO
D - TRANSFER VARIABLE
41 lO 4130 4290 4310 4630 4650
DE - DELAY
2070 20e0 2520 2530 2550 2560
HT - HIT (CORRECT ANSWER)
4070 4240 4490 4590 4750 14020
14040
I - COUNTER
12020 12030 14050 14060
MX - MAXIMUM SIZE OF A AND B
2440 2470 lOOlO 10020
NA« - NAME
2100 2130 2320 2370 2430 12110
12130 14100 14140 20040
NU - NUMBER OF PROBLEMS
2380 2400 15020 20080 20090
RE - REMAINDER
4270 4420
RE« - REMAINDER FLAG FOR DIVISION
2650 2660 2670 4040
50
SA - STUDENT ANSWER
4170 4360 4410 4520 4680 4780
11010 11050
SA« - STUDENT ANSWER
2260 2270 2280 2290 2300 2480
4010 4020 4030
TL - NUMBER OF PROBLEMS PRESENTED
15010 15010 1S020
WR - NUMBER WRONG
14030 14030 20080
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME7RONDA
I AM HAPPY TO MEET YOU, RONDA.
WE ARE GOING TO PRACTICE SOME
MATH PROBLEMS.
WOULD YOU LIKE TO PRACTICE:
1. ADDITION
2. SUBTRACTION
3. MULT I PL I CAT I CHM
4. DIVISION
(TYPE IN THE NUMBER YOU WANT)
?4
HOW MANY PROBLEMS DO YOU
WANT, RONDA74
VERY GOOD, 4 IT WILL BE!
WHAT IS THE LARGEST NUMBER
YOU WANT TO WORK WITH RONDA725
GREAT! I WILL TRY NOT TO GIVE YOU
ANY NUMBERS OVER 25.
DO YOU WANT DIVISION PROBLEMS
WITH REMAINDERS (YES OR NO)?NO
I AM NOW READY TO START!
HERE WE GO ! !
51
23 DIVIDED BY 1 EQUALS723
THAT'S 6REAT, RONDA
11 DIVIDED BY 1 EGUALS711
FANTASTIC!
20 DIVIDED BY 1 EQUALS720
THAT'S GREAT, RCNMDA
10 DIVIDED BY 2 EQUALS72
LOOK CLOSER, RONDA
TRY AGAIN!
?5
THAT'S GREAT, RONDA
THAT'S ALL!
I HOPE YOU HAD FUN, RONDA
YOU HAD 3 OUT OF
4 PROBLEMS CORRECT!
52
Math Word
Problems
PROGRAM DESCRIPTION
Word problems in math are presented in this program. The
computer displays a word problem and, if you don't want to work
that particular problem, you have the option of receiving a new
and different problem by entering a "0" into the computer. When
giving the answer to a problem use only numbers, not such units as
$, liters, or other words.
PROGRAM NOTES
1. Consider providing the answer after a certain number of
wrong guesses.
2. You can enter your own problems in place of the ones that are
there. Start each problem with the correct answer, and use
several lines to enter the problem. End each problem with a
RETURN command. Be sure to maintain the proper sequence
of line numbers to start each problem.
PROGRAM LISTING: BASIC
lOO REM MATH WORD PROBLEMS BY GARY ORWIG
lOOO REM INITIALIZATION - MAKE 'TL' EQUAL TO THE NUMBER OF P
ROBLEMS IN YOUR DATA STATEMENTS
lOlO TL=10
1020 DIM C<TL)
1030 FOR 1=1 TO TL
1040 C(I)=0
53
1050
1060
1070
1080
1090
llOO
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
4000
4010
4020
4030
4040
4050
4060
PROBLEMS'
NEXT I
DIM NA«(30)
DIM SA«(15)
REM USE FULL SCREEN
POKE 82,0
PRINT
REM INTRODUCTION
D=5
L=24
GOSUB 18000
FOR J=l TO 30
PRINT "MATH"
GOSUB 19000
NEXT J
FOR J=l TO 30
PRINT " WORD"
GOSUB 19000
NEXT J
FOR J=l TO 30
PRINT "
GOSUB 19000
NEXT J
D=200
GOSUB 19000
L=24
GOSUB
PRINT
PRINT
L=ll
GOSUB
INPUT NA«
L=12
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=6
GOSUB IQOOO
INPUT SA*
REM MAIN PROGRAM
WR=0
FOR 1=1 TO TL
IF C(I)=0 THEN GOTO 4060
NEXT I
GOTO 20120
GOSUB lOOOO
18000
"HI !
"WHAT
18000
I'M GLAD TO SEE YOU.
IS YOUR NAME?"
18000
"I'M HAPPY TO MEET YOU, ";NA«;"."
"I AM GOING TO GIVE YOU SOME WORD"
"PROBLEMS. IF YOU DON'T WANT TO TRY"
"ANY PARTICULAR PROBLEM, TYPE IN A 'O'
"FOR THE ANSWER AND I WILL GIVE YOU "
"ANOTHER. "
"WHEN YOU TYPE IN AN ANSWER, TYPE IN"
"ONLY THE NUMBER (DON'T TYPE IN"
LITERS, OR OTHER WORDS)."
♦',
"PUSH THE 'RETURN' KEY"
"WHEN YOU ARE READY TO START.
54
4070 IF CCR)=1 THEN 4060
4080 C(R)=1
4090 L=24
4100 GOSUB 18000
41 lO ON R GOSUB 21000, 21050,21 100,21150, 21200,21290,21300, 21
350,21400,21450
4120 L=10
4130 GOSUB 18000
4140 INPUT SA
4150 GOSUB llOOO
4160 ON HT GOTO 4200,4170,4000
4170 GOSUB 12000
4180 GOSUB 15000
4190 GOTO 4000
4200 GOSUB 14000
42 lO GOSUB 15000
4220 GOTO 4090
lOOOO REM RANDOMIZATION
lOOlO R=INT<RND<0)*TL)+1
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA=0 THEN 11070
11020 IF SA»C THEN llOSO
11030 HT=1
11040 RETURN
11050 HT=2
11060 RETURN
11070 HT=3
11080 RETURN
12000 REM REWARD
12010 L=24
12020 GOSUB 18000
12030 PRINT "
12040 L=12
12050 GOSUB 18000
12060 D=500
12070 GOSUB 19000
12080 RETURN
14000 REM WRONG
14010 L=24
14020 GOSUB 18000
14030 PRINT "
14040 L=12
14050 GOSUB 18000
14060 D»SO0
14070 GOSUB 19000
14080 RETURN
15000 REM SCORE KEEPING
15010 IF HT=1 THEN 15030
15020 GOTO 20000
15030 WR-WR+l
1S040 RETURN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
VERY GOOD!"
SORRY ! •'
55
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 IF WR=0 THEN 20050
20020 PRINT "IT TOOK ";WR+l;" TRIES TO GET THIS"
20030 PRINT "PROBLEM RIGHT, ";NA«;"."
20040 GOTO 20060
20050 PRINT "YOU GOT IT ON THE FIRST TRY, ";NA«5"!"
20060 PRINT "DO YOU WANT ANOTHER PROBLEM?"
20070 II\ff>UT SA*
20080 IF SA«="NO" THEN 20100
20090 GOTO 4000
20100 PRINT "BYE FOR NOW"
20110 END
20120 PRINT "SORRY, I'M OUT OF PROBLEMS."
20130 END
21000 REM PROBLEM SUBROUTINES
21010 C=244.2
21020 PRINT "MR. JONES AVERAGES 22-2 MILES PER GAL."
21030 PRINT "OF GAS. HOW FAR CAN HE GO ON 11 GALLONS?"
21040 RETURN
21050 C=9
21060 PRINT "JANE EARNS *1.25 AN HOUR MOWING THE"
21070 PRINT "LAWN. HOW MANY HOURS DID SHE WORK"
21080 PRINT "TO EARN *11.25?"
21090 RETURN
21100 C=5
21110 PRINT "HOW MANY WHOLE BOXES OF ICE CREAM BARS"
21120 PRINT "CAN BE BOUGHT FOR *3.75, IF "
21130 PRINT "EACH BOX COSTS «.69"
21140 RETURN
21150 C=8
21160 PRINT "JANICE HAS SAVED 3 QUARTERS EACH WEEK"
21170 PRINT "FOR 3 WEEKS. FOR HOW MANY MORE WEEKS"
21 ISO PRINT "MUST SHE SAVE TO BUY AN «8.2S ALBU1?"
21190 RETURN
21200 C=30
21210 PRINT "DICK SPELLED 70% OF 100 WORDS"
21220 PRINT "CORRECTLY. HOW MANY WORDS DID HE"
21230 PRINT "MISS?"
21240 RETURN
21250 C=10.5
21260 PRINT "MARTHA BOUGHT SOME JEANS WHICH WERE 257."
21270 PRINT "OFF THE MARKED PRICE OF *14.00."
21280 PRINT "HOW MUCH DID SHE PAY?"
21290 RETURN
21300 C=10
21310 PRINT "A PUNCH RECIPE CALLS FOR 5 PARTS K^APE"
21320 PRINT "JUICE TO 2 PARTS GINGER ALE. HOW MUCH"
21330 PRINT "ALE GOES WITH 25 LITERS OF GRAPE JUICE?"
21340 RETURN
21350 C=24
21360 PRINT "25% OF A CLASS OF 32 STUDENTS WERE"
56
21370 PRINT "ABSENT. HOW MANY STUDENTS WERE "
21380 PRINT "IN CLASS?"
21390 RETURN
21400 C=132
21410 PRINT "A MARCHING BAND HAS 22 ROWS WITH"
21420 PRINT "6 PEOPLE IN EACH ROW. HOW"
21430 PRINT "MANY PEOPLE DOES THIS MAKE?"
21440 RETURN
21450 C=72
21460 PRINT "A FERRIS WHEEL HAS 24 CARS. EACH"
21470 PRINT "CAN HOLD 3 PEOPLE. WHAT IS THE"
21480 PRINT "MAXIMUM CAPACITY OF THE FERRIS WHEEL?'
21490 RETURN
TABLE OF VARIABLES
TL
1010 1020 1030 4020 lOOlO
C(
1020 1040 4030 4070 4080
I
1030 1040 1050 4020 4030 4040
18010 18030 19010 19020
NA«
lO&O 2240 2270 20030 20050
SA«
1070 2420 20070 20080
D
2010 2160 12060 14060 19010
L
2020 2180 2220 2250 2400 4090
4120 12010 12040 14010 14040 18010
J
2040 2070 2080 2110 2120 2150
WR
4010 15030 15030 20010 20020
R
4070 4080 4110 lOOlO
SA
4140 IIOIO 11020
HT
4160 11030 llOSO 11070 ISOIO
57
11020 21010 21050 21100 21150 21200
21250 21300 21350 21400 21450
PROGRAM LISTING: MICROSOFT BASIC
100 REM MATH WORD PROBLEMS BY GARY ORWIG
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZATION - MAKE 'TL' EQUAL TO THE NUMBER OF
PROBLEMS IN YOUR DATA STATEMENTS
lOlO TL = 10
1020 DIM C(TL)
1030 FOR I = 1 TO TL
1040 Cd) = O
1050 NEXT I
1060 REM USE FULL SCREEN
1070 POKE 82, O
2000 REM INTRODUCTION
2010 D = 25
2020 L = 24
2030 eOSUB 18000
2040 FOR J = 1 TO 30
2050 PRINT "MATH"
2060 GOSUB 19000
2070 NEXT J
2080 FOR J = 1 TO 30
2090 PRINT " WORD"
2100 GOSUB 19000
21 lO NEXT J
2120 FOR J = 1 TO 30
2130 PRINT " PROBLEMS"
2140 GOSUB 19000
21SO NEXT J
2160 D = lOOO
2170 GOSUB 19000
2180 L = 24
2190 GOSUB 18000
2200 PRINT "HI!
2210 PRINT "WHAT
2220 L = 11
2230 GOSUB 18000
2240 INPUT NA*
2250 L = 12
2260 GOSUB 18000
"I'M HAPPY TO MEET YOU, ";NA«;"."
"I AM GOING TO GIVE YOU SOME WORD"
"PROBLEMS. IF YOU DON'T WANT TO TRY"
"ANY PARTICULAR PROBLEM, TYPE IN A 'O'"
"FOR THE ANSWER AND I WILL GIVE YOU "
"ANOTHER. "
I'M GLAD TO SEE YOU.
IS YOUR NAME?"
2270 PRINT
2280 PRINT
2290 PRINT
2300 PRINT
2310 PRINT
2320 PRINT
2330 PRINT
2340 PRINT
2350 PRINT
2360 PRINT
"WHEN YOU TYPE IN AN ANSWER, TYPE IN"
"ONLY THE NUMBER (DON'T TYPE IN"
"'*', LITERS, OR OTHER WORDS)."
58
2370 PRINT
2380 PRINT "PUSH THE 'RETURN' KEY"
2390 PRINT "WHEN YOU ARE READY TO START."
2400 L = 6
2410 GOSUB 18000
2420 INPUT SA«
4000 REM MAIN PROGRAM
4010 WR = O
4020 FOR I = 1 TO TL
4030 IF C(I) = O THEN GOTO 4060
4040 NEXT I
4050 GOTO 20120
4060 GOSUB lOOOO
4070 IF C(R) =1 THEN 4060
4080 C(R) = 1
4090 L = 24
4100 GOSUB 18000
4110 ON R GOSUB 21000,21030,21100,21150,21200,21250,21300,21
350,21400,21450
4120 L = 10
4130 GOSUB 18000
4140 INPUT SA
4 ISO GOSUB llOOO
4160 ON HT GOTO 4200,4170,4000
4170 GOSUB 12000
4 ISO GOSUB 15000
4190 GOTO 4000
4200 GOSUB 14000
42 lO GOSUB 15000
4220 GOTO 4090
lOOOO REM RANDCHilZATION
lOOlO R = RND(TL)
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA = O THEN 11070
11020 IF SA = C THEN 11050
11030 HT = 1
11040 RETURN
11050 HT = 2
11060 RETURN
11070 HT = 3
11080 RETURN
12000 REM REWARD
12010 L = 24
12020 GOSUB 18000
12030 PRINT " VERY GOOD!"
12040 L = 12
120S0 GOSUB 18000
12060 D = 500
12070 GOSUB 19000
12080 RETURN
14000 REM WRONG
14010 L = 24
14020 GOSUB 18000
14030 PRINT " SORRY!"
14040 L = 12
59
l;" TRIES TO BET THIS"
";na*;"."
14050 GOSUB 18000
14060 D = 300
14070 GOSUB 19000
14080 RETURN
15000 REM SCORE KEEPING
15010 IF HT = 1 THEN 15030
13020 GOTO 20000
15030 WR = WR ••- 1
15040 RETURN
18000 REM SCROLLING
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 IF WR = O THEN 20050
20020 PRINT "IT TOOK ";WR +
20030 PRINT "PROBLEM RIGHT,
20040 GOTO 20060
20050 PRINT "YCMJ GOT IT ON THE FIRST TRY, ";NA*;"!"
20060 PRINT "DO YOU WANT ANOTHER PROBLEM?"
20070 INPUT SA*
20080 IF SA« = "NO" THEN 20100
20090 GOTO 4000
20100 PRINT "BYE FOR NOW"
20110 END
20120 PRINT "SORRY, I'M OUT OF PROBLEMS."
20130 END
21000 REM PROBLEM SUBROUTINES
21010 C = 244.2
21020 PRINT "MR. JONES AVERAGES 22.2 MILES PER GAL."
21030 PRINT "OF GAS. HOW FAR CAN HE GO ON 11 GALLONS?"
21040 RETURN
21050 C = 9
21060 PRINT "JANE EARNS *1.25 AN HOUR MOWING THE"
21070 PRINT "LAWN. HOW MANY HOURS DID SHE WORK"
21080 PRINT "TO EARN ♦11.25?"
21090 RETURN
21100 C = 5
21110 PRINT "HOW MANY WHOLE BOXES OF ICE CREAM BARS"
21120 PRINT "CAN BE BOUGHT FOR «3.75, IF "
21130 PRINT "EACH BOX COSTS «.&9
21140 RETURN
21150 C = 8
21160 PRINT "JANICE HAS SAVED 3 QUARTERS EACH WEEK"
21170 PRINT "FOR 3 WEEKS. FOR HOW MANY MORE WEEKS"
21180 PRINT "MUST SHE SAVE TO BUY AN «8.25 ALBUM?"
21190 RETURN
21200 C = 30
21210 PRINT "DICK SPELLED 707. OF 100 WORDS"
21220 PRINT "CORRECTLY. HOW MANY WORDS DID HE"
21230 PRINT "MISS?"
60
21240 RETURN
21250 C = 10.50
21260 PRINT "MARTHA BOUGHT SOME JEANS WHICH WERE 257."
21270 PRINT "OFF THE MARKED PRICE OF «14.00."
21280 PRINT "HOW MUCH DID SHE PAY?"
21290 RETURN
21300 C = 10
21310 PRINT "A PUNCH RECIPE CALLS FOR 5 PARTS QRAPE"
21320 PRINT "JUICE TO 2 PARTS GINGER ALE. HOW MUCH"
21330 PRINT "ALE GOES WITH 25 LITERS OF GRAPE JUICE?"
21340 RETURN
21350 C = 24
21360 PRINT "257. OF A CLASS OF 32 STUDENTS WERE"
21370 PRINT "ABSENT. HOW MANY STUDENTS WERE "
21380 PRINT "IN CLASS?"
21390 RETURN
21400 C = 132
21410 PRINT "A MARCHING BAND HAS 22 ROWS WITH"
21420 PRINT "6 PEOPLE IN EACH ROW. HOW"
21430 PRINT "MANY PEOPLE DOES THIS MAKE?"
21440 RETURN
21450 C = 72
21460 PRINT "A FERRIS WHEEL HAS 24 CARS. EACH"
21470 PRINT "CAN HOLD 3 PEOPLE. WHAT IS THE"
21480 PRINT "MAXIMUM CAPACITY OF THE FERRIS WHEEL?"
21490 RETURN
TABLE OF VARIABLES
C - CORRECT ANSWER
11020 21010 21050 21100 21150
21200 21250 21300 21350 21400
21450
C(») - PROBLEMS ANSWERED CORRECTLY
1020 1040 4030 4070 4080
D - DELAY
2010 2160 12060 14060 19010
HT - HIT
4160 11030 11050 11070 15010
I - COUNTER
1030 1040 1050 4020 4030 4040
18010 18030 19010 19020
J - COUNTER
2040 2070 2080 21 lO 2120 2150
L - LINES FOR SCROLLING
2020 2 ISO 2220 2250 2400 4090
4120 12010 12040 14010 14040
18010
61
NA« - NAME
2240 2270 20030 20050
R - RANDOM NUMBER
4070 4080 4110 10010
SA - STUDENT ANSWER
4140 IIOIO 11020
SA* - STUDENT ANSWER
2420 20070 20080
TL - NUMBER OF PROBLEMS
1010 1020 1030 4020 lOOlO
WR - NUMBER OF TRIES
40 lO 15030 15030 20010 20020
END OF VAR. LIST
SAMPLE RUN
HI! I'M GLAD TO SEE YOU.
WHAT IS YOUR NAME?
7BILL
I'M HAPPY TO MEET YOU, BILL.
I AM GOING TO GIVE YOU SOME WORD
PROBLEMS. IF YOU DON'T WANT TO TRY
ANY PARTICULAR PROBLEM, TYPE IN A 'O'
FOR THE ANSWER AND I WILL GIVE YOU
ANOTHER.
WHEN YOU TYPE IN AN ANSWER, TYPE IN
ONLY THE NUMBER (DON'T TYPE IN
'♦', LITERS, OR OTHER WORDS).
PUSH THE 'RETURN' KEY
WHEN YOU ARE READY TO START.
DICK SPELLED 707. OF 100 WORDS
CORRECTLY. HOW MANY WORDS DID HE
MISS?
?30
VERY GOOD!
62
YOU GOT IT ON THE FIRST TRY, BILL!
DO YOU WANT ANOTHER PROBLEM?
?YES
JANICE HAS SAVED 3 QUARTERS EACH WEEK
FOR 3 WEEKS. FOR HOW MANY MORE WEEKS
MUST SHE SAVE TO BUY AN ♦8.25 ALBUM?
?11
SORRY •
JANICE HAS SAVED 3 QUARTERS EACH WEEK
FOR 3 WEEKS. FOR HOW MANY MORE WEEKS
MUST SHE SAVE TO BUY AN «8.2S ALBUM?
?8
VERY 600D!
IT TOOK 2 TRIES TO GET THIS
PROBLEM RIGHT, BILL.
DO YOU WANT ANOTHER PROBLEM?
?NO
BYE FOR NOW
63
Memory Test-
Letters
PROGRAM DESCRIPTION
This program enables you to test the power of your memory.
The computer rapidly scrolls letters randomly at different time
intervals and you try to remember the letters for the correct
answer. You may choose at which time interval (short, medium, or
long) you want the computer to display the letters, depending on
the skill level that you feel is most comfortable. The more you
guess correctly, the more difficult the memory test becomes. Each
time you answer correctly, the computer increases the letters in
the series scrolled.
PROGRAM NOTES
This program is very much like the MEMORY TEST-
NUMBERS program. Consider combining them, with an option for
presenting numbers, letters, or a mixture.
PROGRAM LISTING: BASIC
100 REM MEMORY TEST-LETTERS BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO DIM A«(3>
1020 DIM AB«(60)
i030 DIM NA«(30)
1040 DIM SAS(&0)
lOSO REM USE FULL SCREEN
1060 POKE 82, O
64
1070 PRINT
2000 REM INTRODUCTION
2010 FOR 1=1 TO 40
2020 GOSUB lOOOO
2030 PRINT AB*
2040 NEXT I
2050 FOR 1=1 TO 200
2060 NEXT I
2070 FOR 1=1 TO 12
2080 PRINT
2090 NEXT I
2100 PRINT ••
2110 FOR 1=1 TO 12
2120 PRINT
2130 NEXT I
2140 PRINT "HI !
2150 PRINT
2160 INPUT NA«
2170 PRINT
2180 PRINT
2190 PRINT
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
22&0 PRINT
2270 PRINT
2280 PRINT
2290 PRINT
2300 PRINT
2310 PRINT
2320 PRINT
2330 PRINT "1.
2340 PRINT "2.
2350 PRINT "3.
2360 PRINT
2370 PRINT
2380 PRINT
2390 PRINT
2400 PRINT
2410 INPUT
2420 T=T»50
2430 FOR 1=1
2440 PRINT
2450 NEXT I
2460 PRINT "OK!
2470 AB»=""
2480 FOR 1=1 TO 12
2490 PRINT
2500 NEXT I
2510 FOR 1=1 TO 200
2520 NEXT I
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
MEMORY TEST - LETTERS"
I AM A FRIENDLY COMPUTER!"
"WHAT IS YOUR NAME";
IT'S NICE TO MEET YOU, ";NA*;".
"THIS IS A GAME DESIGNED TO TEST"
"YOUR MEMORY FOR LETTERS. "
"I WILL SHOW VaU SOME LETTERS"
"AND YOU WILL"
"TRY TO REMEMBER THEM LONG ENOUGH'
"TO TYPE THEM BACK TO ME."
I CAN SHOW YOU THE LETTERS FOR:
A SHORT TIME"
A MEDIUM TIME"
A LONG TIME"
"WHICH DO YOU WANT <1, 2, OR 3> "
"YOU CAN USE A DECIMAL (LIKE. 5)"
"OR A LARGER NUMBER IF YOU WANT."
T
TO 12
HERE WE GO!
65
4020 FOR 1=1 TO 25
4030 PRINT
4040 NEXT I
4050 PRINT AB«
4060 FOR 1=1 TO T
4070 NEXT I
4080 FOR 1=1 TO 25
4090 PRINT
4100 NEXT I
41 lO PRINT "WHAT WAS THE LETTER SET?"
4120 INPUT SA«
4130 60SUB llOOO
4140 IF HT=0 THEN 4180
4150 GOSUB 12000
4160 GOSUB 15000
4170 GOTO 4010
4180 GOSUB 14000
4190 GOTO 20000
lOOOO REN RANDOMIZATION
lOOlO A=INT(RND(0)«26)+65
10020 A«=CHR«(A)
1 0030 AB« ( LEN ( AB« ) -»- 1 ) =A«
10040 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA«=AB« THEN GOTO 11040
11020 HT=0
11030 RETURN
11040 HT=1
11050 RETURN
12000 REM REWARDS
12010 HT=0
12020 PRINT "GREAT!"
12030 FOR 1=1 TO 250
12040 NEXT I
12050 RETURN
14000 REM WRONG
14010 FOR 1=1 TO 12
14020 PRINT
14030 NEXT I
14040 PRINT "SORRY!"
14050 FOR 1=1 TO 10
14060 PRINT
14070 NEXT I
14080 RETURN
15000 REM SCORE KEEPING
15010 C=C+1
15020 RETURN
20000 REM CLOSING
20010 PRINT "YOUR ANSWER WAS:"
20020 PRINT SA*
20030 PRINT
20040 PRINT "THE CORRECT LETTER SET WAS:
20050 PRINT AB«
20060 PRINT
20070 PRINT
20080 PRINT "YOU REMEMBERED A SET"
66
20090 PRINT C;" LETTERS LONG!"
20100 PRINT "DO YOU WANT TO TRY AGAIN?"
20110 PRINT "(YES OR NO)";
20120 INPUT SA»
20130 IF SA*="YES" THEN 20160
20140 PRINT "BYE FOR NOW!"
20150 END
20160 SA»=""
20170 AB«=""
20180 C=0
20190 GOTO 2290
TABLE OF VARIABLES
A«
lOlO 10020 10030
AB«
1020 2030 2470 4050 10030 1OO30
IIOIO 20050 20170
NA«
1030 2160 2190
SA«
1040 4120 llOlO 20020 20120 20130
20160
I
2010 2040 2050 2060 2070 2090
2110 2130 2430 2450 2480 2500
25 lO 2520 4020 4040 4060 4070
4080 4100 12030 12040 14010 14030
14050 14070
T
24 lO 2420 2420 4060
HT
4140 11020 11040 12010
A
C
lOOlO 10020
15010 15010 20090 20180
PROGRAM LISTING: MICROSOFT BASIC
lOO REM MEMORY TEST-LETTERS BY GARY ORWIG
SOO REM RESEED RND
51 O RANDOMIZE
lOOO REM INITIALIZE
lOlO REM USE FULL SCREEN
67
1020
1030
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
21 40
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
24 lO
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
4000
1 TO 12
1 TO
"HI !
"WHAT
POKE 82,0
CLS
REM I NTRODUCT I ON
FOR I = 1 TO 40
60SUB 10000
PRINT AB*
NEXT I
FOR I = 1 TO 2000
NEXT I
FOR I =
PRINT
NEXT I
PRINT "
FOR I =
PRINT
NEXT I
PRINT
PRINT
IHPUT NA«
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
T = T
FOR I
PRINT
NEXT I
PRINT
AB« =
FOR I =
PRINT
NEXT I
FOR I =
NEXT I
REN MAIN PROGRAM
MEMORY TEST - LETTERS'
12
I AM A FRIENDLY COMPUTER!"
IT'S NICE TO MEET YOU, ";NA«;
"THIS IS A GAME DESIGNED TO TEST"
"YOUR MEMORY FOR LETTERS."
"I WILL SHOW YOU SOtlE LETTERS"
"AND YOU WILL"
"TRY TO REMEMBER THEM LONG ENOUGH'
"TO TYPE THEM BACK TO ME."
"I CAN SHOW YOU THE LETTERS FOR:
"1.
"2.
"3.
A SHORT TIME"
A MEDIUM TIME"
A LONG TIME"
"WHICH DO YCXJ WANT (1, 2, OR 3)"
"YOU CAN USE A DECIMAL (LIKE. 5) "
"OR A LARGER NUMBER IF YOU WANT."
T
» 200
= 1 TO 12
"OK!
■I tt
HERE WE GO!
1 TO 12
1 TO 2000
68
4150 60SUB
4160 60SUB
4010 60SUB lOOOO
4020 FOR I = 1 TO 23
4030 PRINT
4040 NEXT I
4050 PRINT AB*
4060 FOR I = 1 TO T
4070 NEXT I
4080 FOR I = 1 TO 25
4090 PRINT
4100 NEXT I
4110 PRINT "WHAT WAS THE LETTER SET?"
4120 INPUT SA«
4130 60SUB llOOO
4140 IF HT = O THEN 4180
12000
15000
4170 GOTO 4010
4180 60SUB 14000
4190 GOTO 20000
lOOOO REM RANDOMIZATION
10010 A » RND(26)-«-65
10020 A* = CHR* (A)
10030 AB« = AB« + A«
10040 RETURN
11000 REM JUDGE ANSWER
IIOIO IF SA« = AB« GOTO 11040
11020 HT = O
11030 RETURN
11040 HT = 1
11050 RETURN
12000 REM REWARDS
12010 HT = O
12020 PRINT "GREAT!"
12030 FOR I = 1 TO lOOO
12040 NEXT I
12050 RETURN
14000 REM WRONG
14010 FOR I = 1 TO 12
14020 PRINT
14030 NEXT I
14040 PRINT "SCWRY!"
14050 FOR I = 1 TO lO
14060 PRINT
14070 NEXT I
14080 RETURN
15000 REM SCORE KEEPING
15010 C = C + 1
1S020 RETIAW
20000 REM CLOSING
20010 PRINT "YOUR ANSWER WAS:"
20020 PRINT SA*
20030 PRINT
20040 PRINT "THE CORRECT LETTER SET WAS:
20050 PRINT AB«
20060 PRINT
20070 PRINT
69
20080 PRINT "YOU REMEMBERED A SET"
20090 PRINT C;" LETTERS LONG!"
20100 PRINT "DO YOU WANT TO TRY AGAIN?'
20110 PRINT "(YES OR NO)";
20120 INPUT SA*
20130 IF SA* = "YES" THEN 20160
20140 PRINT "BYE FOR NOW!"
20 ISO END
20160 SA* = ""
20170 AB» = ""
20180 C = O
20190 GOTO 2290
TABLE OF VARIABLES
A - RANDOM NUMBER
10010 10020
A* - RANDOM LETTER
10020 10030
AB« - RANDOM LETTER STRING
2030 2470 4050 10030 10030
IIOIO 20050 20170
C - LENGTH OF STRING
15010 15010 20090 20180
HT - HIT
4140 11020 11040 12010
I - COUNTER
2010 2040 2050 2060 2070 2090
2110 21 30 2430 2450 2480 2500
25 10 2520 4020 4040 4060 4070
4080 4 100 12030 12040 14010
14030 14050 14070
NA* - NAME
2160 2190
SA« - STUDENT ANSMER
4120 11010 20020 20120 20130
20160
T - DELAY
24 10 2420 2420 4060
END OF VAR. LIST
SAMPLE RUN
HI! I AM A FRIENDLY COMPUTER!
WHAT IS YOUR NAME7MICKEY
70
IT'S NICE TO MEET YOU, MICKEY.
THIS IS A GAME DESIGNED TO TEST
YOUR MEMORY FOR LETTERS.
I WILL SHOW YOU SOME LETTERS
AND YOU WILL
TRY TO REMEMBER THEM LONG ENOUGH
TO TYPE THEM BACK TO ME.
I CAN SHOW YOU THE LETTERS FOR:
1. A SHORT TIME
2. A MEDIUM TIME
3. A LONG TIME
WHICH DO YOU WANT <1, 2, OR 3)
YOU CAN USE A DECIMAL (LIKE. 5)
OR A LARGER NUMBER IF YOU WANT.
?1
OK! HERE WE GO!
W
WHAT WAS THE LETTER SET?
?W
GREAT !
WY
WHAT WAS THE LETTER SET?
?WY
GREAT !
WYO
WHAT WAS THE LETTER SET?
?WYO
GREAT !
WYOA
71
WHAT WAS THE LETTER SET?
?WYOA
GREAT !
WYOAZ
WHAT WAS THE LETTER SET?
?WYOAZ
GREAT !
WYOAZR
WHAT WAS THE LETTER SET?
?WYOAZR
GREAT!
WYOAZRX
WHAT WAS THE LETTER SET?
?WYOAZRX
GREAT!
WYOAZRXG
WHAT WAS THE LETTER SET?
?WTAOZRXG
SORRY !
YOUR ANSWER WAS:
WTAOZRXG
THE CORRECT LETTER SET WAS:
WYOAZRXG
YOU REMEMBERED A SET
7 LETTERS LONG!
DO YOU WANT TO TRY AGAIN?
(YES OR NO)?NO
BYE FOR NOW!
72
Memory Test-
Numbers
PROGRAM DESCRIPTION
This program is very similar to MEMORY TEST— LETTERS,
except that it is easier to perform. The computer rapidly scrolls
numbers randomly at different time intervals and you try to
remember the numbers for the correct answer. You may choose at
v/hich time interval (short, medium, or long) you want the
computer to display the numbers, depending on the skill level that
you feel is most comfortable. Again, as in MEMORY TEST-
LETTERS, the more you guess correctly, the more difficult the
memory test becomes. Each time you answer correctly, the
computer increases the digits in the number scrolled.
PROGRAM NOTES
1 . The scrolling process can be built into a subroutine of its own.
See line 1 8000 of some of the other programs.
2. Consider "flashing" the numbers on the screen by clearing the
screen, printing the numbers, then clearing the screen again.
3. You may want to adjust line 2410 to get suitable delay
times.
PROGRAM LISTING: BASIC
100 REM MEMORY TEST-NUMBERS BY GARY 0RWI6
lOOO REM INITIALIZATION
1010 DIM A*<5)
73
1020
1030
1040
1050
1060
1070
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
TO 12
TO 12
DIM AB«(60)
Din IMA«(30>
DIM SA«(60>
REM USE FULL SCREEN
POKE 82, O
PRINT
REM INTRODUCTION
FOR 1=1 TO 40
60SUB lOOOO
PRINT AB«
NEXT I
FOR 1=1 TO 200
NEXT I
FOR 1=1
PRINT
NEXT I
PRINT •'
FOR 1=1
PRINT
NEXT I
PRINT •'
PRINT "
INPUT NA«
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT DE
DE=DE*50
FOR 1=1 TO 12
PRINT
NEXT I
PRINT "OK! HERE WE 60!
AB«='*"
FOR 1=1 TO 12
PRINT
NEXT I
MEMORY TEST - NUMBERS"
HI! I AM A FRIENDLY COMPUTER!"
WHAT IS YOUR NAME";
IT'S NICE TO MEET YOU, ";NA*;".
"THIS IS A GAME DESIGNED TO TEST"
"YOUR MEMORY FOR Nl*IBERS. "
'I WILL SHOW YOU
'TRY TO REMEMBER
A NUMBER, AND YOU WILL'
IT LONG ENOUGH"
'TO TYPE IT BACK TO ME.
"I CAN SHOW YOU THE NUMBER FOR:
•1.
'2.
•3.
A SHORT TIME"
A MEDIUM TIME*
A LONG TIME"
WHICH DO YOU WANT (1, 2, OR 3) "
YOU CAN USE A DECIMAL (LIKE. 5)"
OR A LARGER NUMBER IF YOU WANT.'
74
2500 FOR 1=1 TO 200
2310 NEXT I
4000 REM MAIN PROGRAM
4010 60SUB lOOOO
4020 FOR 1=1 TO 25
4030 PRINT
4040 NEXT I
4050 PRINT AB«
4060 FOR 1=1 TO DE
4070 NEXT I
4080 FOR 1=1 TO 25
4090 PRINT
4100 NEXT I
41 lO PRINT "WHAT WAS THE NUMBER?"
4120 INPUT SA«
4130 GOSUB llOOO
4140 IF HT=0 THEN 4180
4150 GOSUB 12000
4160 GOSUB 15000
4170 GOTO 4010
4180 GOSUB 14000
4190 GOTO 20000
lOOOO REM RANDOMIZATION
lOOlO A«=STR«(INT(RND(0)*10})
1 0020 AB« ( LEN ( AB« ) + 1 ) =A«
10030 RETURN
llOOO REM JUDGE M4SWER
IIOIO IF SA«=AB« THEN GOTO 11040
11020 HT=0
11030 RETURN
11040 HT=1
11050 RETURN
12000 REM REWARDS
12010 HT=0
12020 PRINT "GREAT!"
12030 FOR 1=1 TO 250
12040 NEXT I
12050 RETURN
14000 REM WRONG
14010 FOR 1=1 TO 12
14020 PRINT
14030 NEXT I
14040 PRINT "SORRY!"
14050 FOR 1=1 TO 10
14060 PRINT
14070 NEXT I
14080 RETURN
15000 REM SCORE KEEPING
15010 C=C+1
15020 RETURN
20000 REM CLOSING
20010 PRINT "YOUR ANSWER WAS: "
20020 PRINT SA«
20030 PRINT
20040 PRINT "THE CORRECT NUMBER WAS:
20050 PRINT AB«
75
20060
PRINT
20070
PRINT
20080
PRINT "YOU REMEMBERED A NUMBER "
20090
PRINT C;" DIGITS LONG!"
20100
PRINT "DO YOU WANT TO TRY AGAIN?"
20110
PRINT "(YES OR NO)";
20120
INPUT SA*
20130
IF SA«="YES" THEN 20160
20140
PRINT "BYE FOR NOW!"
20150
END
20160
SA«=""
20170
AB*=""
20180
c=o
20190
GOTO 2280
TABLE OF VARIABLES
A«
lOlO lOOlO 10020
AB«
1020 2030 2460 4050 10020 10020
IIOIO 20050 20170
NA«
1030 2160 2190
SA«
1040 4120 llOlO 20020 20120 20130
20160
2010 2040 2050 2060 2070 2090
21 lO 2130 2420 2440 2470 2490
2500 25 lO 4020 4040 4060 4070
40a0 4100 12030 12040 14010 14030
14050 14070
DE
2400 2410 2410 4060
HT
4140 11020 11040 12010
15010 15010 20090 20180
PROGRAM LISTING: MICROSOFT BASIC
76
lOO REM MEMORY TEST-NUMBERS BY GARY ORWI6
SOO REM RESEED RND
51 O RANDOMIZE
lOOO REM INITIALIZE
lOlO REM USE FULL SCREEN
1020
1030
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
21 40
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
4000
4010
POKE 82,0
CLS
REM INTRODUCTION
FOR I = 1 TO 40
60SUB 10000
PRINT AB«
NEXT I
FOR I = 1 TO 2000
NEXT I
FCMR I =
PRINT
NEXT I
PRINT "
FOR I =
PRINT
NEXT I
PRINT "HI f
PRINT "WHAT
1 TO 12
1 TO
MEMORY TEST - NUMBERS'
12
I AM A FRIENDLY COMPUTER!
IS YOUR NAME";
"THIS IS A GAME DESIGNED TO TEST"
"YOUR MEMORY FOR NUMBERS."
"I WILL SHOW YOU A NUMBER, AND YOU WILL'
"TRY TO REMEMBER IT LONG ENOUGH"
"TO TYPE IT BACK TO ME."
I CAN SHOW YOU THE NUMBER FOR:
"1.
"2.
"3.
A SHORT TIME"
A MEDIUM TIME"
A LONG TIME"
INPUT NA*
PRINT
PRINT
PRINT "IT'S NICE TO MEET YOU, "JNA*;".
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT DE
DE = DE »
FOR 1=1
PRINT
NEXT I
PRINT "OK!
AB« = ""
FOR I =
PRINT
NEXT I
FOR I =
NEXT I
REM MAIN PROGRAM
GOSUB lOOOO
"WHICH DO YOU WANT (1,
"YOU CAN USE A DECIMAL
2, OR 3)"
(LIKE. 5)"
■OR A LARGER NUMBER IF YOU WANT.
500
TO 12
HERE WE GO!
1 TO 12
1 TO 2000
77
4020 FOR I = I TO 25
4030 PRINT
4040 NEXT I
4030 PRINT ABS
40&0 FOR I = I TO DE
4070 NEXT I
4080 FOR I = 1 TO 25
4090 PRINT
4100 NEXT I
41 lO PRINT "WHAT WAS THE NUMBER?"
4120 INPUT SA*
4130 GOSUB llOOO
4140 IF HT = O THEN 4180
41SO 60SUB 12000
4160 GOSUB ISOOO
4170 60TO 4010
4 ISO GOSUB 14000
4190 GOTO 20000
lOOOO REM RANDOMIZATION
lOOlO A* = STR» < RND (9))
10020 A« - RI(^T» (A«,l)
10030 ABS - AB« + AS
10040 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA« = AB« GOTO 11040
11020 HT = O
11030 RETURN
11040 HT = 1
llOSO RETURN
12000 REM REWARDS
12010 HT = O
1:M20 PRINT "GREAT!"
12030 FOR I = 1 TO lOOO
12040 NEXT I
12050 RETL^N
14000 REM WtONG
14010 FOR I = 1 TO 12
14020 PRINT
14030 NEXT I
14040 PRINT "SORRY!"
140S0 FOR I = 1 TO lO
14060 PRINT
14070 NEXT I
14080 RETURN
1»>00 REM SCORE KEEPING
15010 C = C + 1
15020 RETURN
20000 REM CLOSING
2OO10 PRINT "YOUR ANSWER WAS:"
20020 PRINT SA«
20030 PRINT
20040 PRINT "THE CCMRRECT NUMBER WAS:"
20050 PRINT AB«
20060 PRINT
20070 PRINT
20080 PRINT "YOU REMEMBERED A NUMBER"
78
20090 PRINT C;" DIGITS LONG!"
20100 PRINT "DO YOU WANT TO TRY AGAIN?'
20110 PRINT "(YES OR NO)";
20120 INPUT SA«
20130 IF SA« = "YES" THEN 20160
20140 PRINT "BYE FOR NOW!"
20 ISO END
20160 SA* = ""
20170 AB* = ""
20180 C = O
20 190 GOTO 2280
TABLE OF VARIABLES
A« - SINGLE DIGIT
10010 10015 lOOlS 10020
AB« - SET OF DIGITS
2030 2460 4050 10020 10020
11010 20050 20170
C - CORRECT RESPONSES
15010 15010 20090 20 ISO
DE - DELAY
2400 24 10 2410 4060
HT - HIT
4140 11020 11040 12010
I - CflUNTER
2010 2040 2050 2060 2070 2090
2110 21 30 2420 2440 2470 2490
2500 25 10 4020 4040 4060 4070
4080 4100 12030 12040 14010
14030 14050 14070
NA« - NAT^
2160 2190
SA« - STUDENT ANSWER
4120 11010 20020 20120 20130
20160
END OF VAR. LIST
SAMPLE RUN
HI! I AM A FRIENDLY COMPUTER!
WHAT IS YOUR NAME? ALLEN
IT'S NICE TO MEET YOU, ALLEN.
79
THIS IS A GAME DESIGNED TO TEST
YOUR MEMORY FOR NUMBERS.
I WILL SHOW YOU A NUMBER, AND YOU WILL
TRY TO REMEMBER IT LONG ENOUGH
TO TYPE IT BACK TO l«E.
I CAN SHOW YOU THE NUMBER FOR:
1. A SHORT TIME
2. A MEDIUM TIME
3. A LONG TIME
WHICH DO YOU WANT (1, 2, OR 3)
YOU CAN USE A DECIMAL (LIKE.S)
OR A LARGER NUMBER IF YOU WANT.
?1
OK! HERE IkC GO!
8
WHAT WAS THE NUMBER?
?8
GREAT!
88
WHAT WAS THE NUMBER?
?88
GREAT !
880
WHAT WAS THE NUMBER?
?880
GREAT !
8807
WHAT WAS THE NUMBER?
?8807
GREAT!
80
88079
WHAT WAS THE NUMBER?
788079
GREAT !
880797
WHAT WAS THE NUMBER?
?880797
GREAT !
8807971
WHAT WAS THE NUMBER?
?8807971
GREAT!
88079711
WHAT WAS THE NUMBER?
?8807971
SORRY !
YOUR ANSWER WAS:
8807971
THE CORRECT NUMBER WAS:
38079711
YOU REMEMBERED A NUMBER
7 DIGITS LONG!
DO YOU WANT TO TRY AGAIN?
(YES OR NO)?NO
BYE FOR NOW!
81
Scrambled
Words
PROGRAM DESCRIPTION
In this program the computer selects words from an instruc-
tor-made data file and scrambles the letters in the words. The
computer displays a scrambled word on the screen and asks you to
identify it. By entering in a "1", the computer provides you with
hints about the word. This program is an excellent drill for both
spelling and reading,
PROGRAM NOTES
1. Consider setting a letter in place each time a cue (like "*") is
typed in. It would probably be best to start from the end of the
word and work toward the beginning. This could be accomp-
lished by randomizing a shorter length of the word each time
the "*" is typed in.
2. Be careful of using words whose letters make up other words
(snake, sneak). While some of these are likely to get into your
list, too many can be frustrating.
82
PROGRAM LISTING: BASIC
100 REM SCRAMBLED WORDS BY GARY ORWI6
lOOO REM INITIALIZATION - SET 'TL' EQUAL TO TOTAL NUMBER OF
WORDS IN YOUR DATA SET.
lOlO TL=20
1020 BL=TL
1030 TL=TL+1
1040
*(20)
1030
1060
1070
1080
1090
1100
mo
1120
1130
1140
1150
1160
1170
1180
1190
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
DIM FL« (TL«20) , HN« (TL*20) , B« (20> , C« (20> , D« ( 1 ) , IMA* (30) , S
, T« (20) , FLI« (20) , HNI« (20)
FOR 1=1 TO TL
FL*<I»20-19, 1*20) ="
NEXT I
HN*=FL*
LN=1
FOR 1=1 TO TL
READ FLI«,HNI«
FL*(LN)=FLI*
HN«(LN)=HNI«
LN=LN+20
NEXT I
REM USE FULL SCREEN
POKE 82, O
PRINT
TL=TL-1
REM INTRODUCTION
FOR 1=1 TO 75
PRINT "WORD SCRAMBLE ";
NEXT I
FOR 1=1 TO 200
NEXT I
FOR 1=1
PRINT
NEXT I
PRINT "
PRINT
PRINT
PRINT
INPUT NA«
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT "HERE WE GO!"
REM MAIN PROGRAM
GOSUB lOOOO
C«=FL« ( R»20- 1 9 , R*20 )
L=0
L=L+1
IF C*<L,L)=" " THEN 4070
GOTO 4040
L=L-1
C«=C«(1,L)
T*=""
FOR 1=1 TO L
B«( I, !>="#"
TO 24
HI! I'M YOUR FRIENDLY COMPUTER!"
"WHAT IS YOUR NAME?"
"I'M GLAD TO MEET YOU, ";NA«;
"WE ARE GOING TO PLAY A WORD GAME.
"I WILL THINK OF A WORD AND"
"SCRAMBLE UP THE LETTERS."
"I WILL SHOW YOU THE LETTERS,"
"AND YOU HAVE TO GUESS THE WORD!"
"IF YOU TYPE IN A '?' I WILL"
"GIVE YOU A HINT."
83
4120 NEXT I
4130 FOR 1=1 TO L
4140 D«=C«(I,I)
4150 j-int(rimd(0)»L)-<-i:rem mix position
4160 if b*(j,j)="#" then 4180
4170 GOTO 4150
4180 B«(J,J)=D«
4190 NEXT I
4200 T«=B*
4210 IF T»=C* THEN 4090
4220 PRINT
4230 PRINT "HERE IS THE SCRAMBLED WORD."
4240 PRINT
4250 PRINT T«
4260 PRINT
4270 PRINT "WHAT DO YOU THINK THE WORD IS?"
4280 PRINT "TYPE IN A '?' FOR A HINT."
4290 INPUT S«
4300 60SUB llOOO
4310 IF HT=1 THEN 15000
4320 GOTO 4230
lOOOO REM RANDOMIZATION
lOOlO R=INT(RND(0)*BL)+1
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF S*="?" THEN 16000
11020 TR=TR+1
11030 IF S«=C« THEN 12000
11040 GOTO 14000
12000 REM REWARD
12010 HT=1
12020 PRINT "GOOD GUESS, ";NA*;"!"
12030 RETURN
14000 REM WRONG GUESS
14010 PRINT "SORRY, "iNA»;". ";S*
14020 PRINT "IS NOT THE WORD. TRY AGAIN!"
14030 RETURN
15000 REM SCORE KEEPING
15010 HT=0
15020 PRINT "YOU FOUND THE WORD IN"
15030 IF TR=1 THEN 1S060
15040 PRINT TR;" TRIES!"
15050 GOTO 20000
15060 PRINT "ONE TRY!"
15070 GOTO 20000
16000 REM HINT
I&OIO PRINT
16020 PRINT HN«(R*20-19,R*20)
16030 HN*(R»20-19,R*20)="N0 MORE HINTS!"
16040 PRINT
16050 RETURN
20000 REM CLOSING
20010 PRINT "WOULD YOU LIKE ANOTHER WORD <YES OR NO)";
20020 INPUT S«
20030 IF S«="YES" THEN 20060
20040 PRINT "BYE FOR NOW!"
84
200S0 END
20060 S*=""
20070 B»="
20080 T*=B*
20090 B«=""
20100 T*=B«
20110 TR=0
20120 HT=0
20130 REM DELETE CORRECT WORD FROM LIST
20 1 40 FL* (R»20-19,R«20) =FL* < BL*20- 1 9 , BL«20 )
20 1 50 HN» < R»20- 1 9 , R»20 ) =HN* ( BL»20- 1 9 , BL»20 )
20160 BL=BL-1
201 70 IF BL=0 THEN 20190
20180 GOTO 4010
20 190 PRINT "SORRY, YOU HAVE USED ALL MY WORDS!"
20200 GOTO 20040
21000 REM DATA
21010 DATA CHAIR, SIT, BREAKFAST, MORNING, PICTURE, WALL, MONEY, PA
Y, GRASS, GREEN
2 1 020 DATA DR I VEW A Y , CEMENT , L I BRAR Y , BOOKS , RASPBERRY , FRU I T , P I L
LOW , SLEEP , CLOTHES , WEAR
21030 DATA B I CYCLE, RIDE, DESSERT, CAKE, TELEPHONE, TALK, PIANO, MU
SIC, PENCIL, WRITE
21040 DATA SLEIGH, SNOW, OCEAN, WATER, AIRPLANE, FLY, EXERCISE, JOG
, GIRAFFE, ANIMAL
21050 DATA EOD,EOD
TABLE OF VARIABLES
TL
1010 1020 1030 1030 1040 1040
1050 1100 1190 1190
BL
1020 10010 20140 20140 20150 20150
20160 20160 20170
FL*
1040 1060 1080 1120 4020 20140
20140
HN*
1040 1080 11 30 16020 16030 20150
20 150
B*
1040 4110 4160 4180 4200 20070
20080 20090 20100
C*
1040 4020 4050 4080 4080 4140
4210 11030
D«
1040 4140 4180
85
IMA«
1040 2130 2150 12020 14010
S«
1040 4290 11010 11030 14010 20020
20030 20060
T*
1040 4090 4200 4210 4250 20080
20100
FLI*
1040 lllO 1120
hHMI«
1040 mo 1130
I
1050 lOAO 1060 1070 llOO 1150
2010 2030 2040 2050 2060 2080
4100 41 lO 4110 4120 4130 4140
4140 4190
LN
1090 1120 1130 1140 1140
R
4020 4020 lOOlO 16020 16020 16030
16030 20140 20140 20150 20150
L
4030 4040 4040 4050 4050 4070
4070 4080 4100 4130 4150
J
4150 4160 4160 4180 4180
HT
4310 12010 15010 20120
TR
11020 11020 15030 15040 20110
PROGRAM LISTING: MICROSOFT BASIC
lOO REM SCRAMBLED WORDS BY GARY ORWI6
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZATION - SET 'TL' EQUAL TO TOTAL NUIBER OF
WORDS IN YOUR DATA SET.
lOlO TL = 20
1020 BL = TL
1030 DIM FL«(TL),HN*<TL),B»(20)
1040 FOR I = 1 TO TL
lOSO READ FL«(I),HN»(I)
86
1060 NEXT I
1070 REM USE FULL SCREEN
1080 POKE 82,0
1090 CLS
2000 REM INTRODUCTION
2010 FOR I = 1 TO 20
2020 PRINT "WORD SCRAMBLE ";
2030 NEXT I
2040 FOR I = 1 TO 3000
2050 NEXT I
2060 FOR I = 1 TO 24
2070 PRINT
2080 NEXT I
2090 PRINT "HI! I'M YOUR FRIENDLY COMPUTER!"
2100 PRINT
2110 PRINT
2120 PRINT "WHAT IS YOUR NAME?"
2130 INPUT NA«
2140 PRINT
2150 PRINT "I'M GLAD TO MEET YOU, ";NA»;"."
2160 PRINT
2170 PRINT
2180 PRINT "WE ARE GOING TO PLAY A WORD GAME.
2190 PRINT "I WILL THINK OF A WORD AND"
2200 PRINT "SCRAMBLE UP THE LETTERS."
2210 PRINT
2220 PRINT "I WILL SHOW YOU THE LETTERS,"
2230 PRINT "AND YOU HAVE TO GUESS THE WORD!"
2240 PRINT "IF YOU TYPE IN A '?' I WILL"
2250 PRINT "GIVE YOU A HINT. "
2260 PRINT
2270 PRINT "HERE WE GO!"
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 C* = FL«<R)
4030 L = LEN (C»)
4040 T* = ""
4050 FOR I = 1 TO L
4060 B«<I) = "#"
4070 NEXT I
4080 FOR I = 1 TO L
4090 D« = MID* (C«,I,1)
4100 J = rnd(L):rem mix position
4110 IF B*<J) = "#" THEN 4130
4120 GOTO 4100
4130 B«(J) = D*
4140 NEXT I
4150 FOR I = 1 TO L
4160 T* = T* + B*(I>
4170 NEXT I
4180 IF T» = C« THEN 4040
4190 PRINT
4200 PRINT "HERE IS THE SCRAMBLED WORD."
4210 PRINT
4220 PRINT T«
4230 PRINT
87
"WHAT DO YOU THINK THE WORD IS?"
"TYPE IN A '?' FOR A HINT."
S«
llOOO
= 1 THEN 15000
4290 GOTO 4200
lOOOO REM RANDOMIZATION
R = RND(BL)
RETURN
REM JUDGE ANSWER
IF S* = "?" THEN 16000
TR = TR + 1
IF S% = C* THEN 12000
GOTO 14000
REM REWARD
HT = 1
PRINT "GOOD GUESS, ";NA»;"!"
RETURN
REM WRONG GUESS
PRINT "SORRY, ";NA«;". ";S«
PRINT "IS NOT THE WORD. TRY AGAIN!"
RETURN
REM SCORE KEEPING
HT = O
PRINT "YOU FOUND THE WORD IN"
IF TR = 1 THEN 15060
PRINT TRJ" TRIES!"
GOTO 20000
PRINT "ONE TRY!"
GOTO 20000
REM HINT
PRINT
PRINT HN«(R)
HN«(R) = "NO Vaxm HINTS!"
PRINT
RETURN
REM CLOSING
PRINT "WOULD YOU LIKE ANOTHER WORD <YES OR NO)";
INPUT S*
IF S* = "YES" THEN 20060
PRINT "BYE FOR NOW!"
END
S* = ""
TR = O
HT = O
REM DELETE CORRECT WORD FROM LIST
FL»(R) = FL»(BL)
HN«(R) = HN«(BL)
BL = BL - 1
IF BL = O THEN 20150
GOTO 4010
PRINT "SORRY, YOU HAVE USED ALL MY WORDS!"
GOTO 20040
REM DATA
DATA CHA I R , S I T , BREAKFAST , MORN I NG , P I CTURE , WALL , MONEY , P
4240 PRINT
4250 PRINT
4260 INPUT
4270 GOSUB
4260 IF HT
lOOlO
10020
11000
11010
11020
11030
11040
12000
12010
12020
12030
14000
14010
14020
14030
15000
15010
15020
15030
1W)40
150S0
1SO60
15070
16000
16010
16020
16030
16040
160S0
20000
20010
20020
20030
20040
20050
20060
20070
20080
20090
20100
20110
20120
20130
20140
20150
20160
21000
21010
AY , GRASS, GREEN
88
21020 DATA DRIVEWAY, CEMENT, LIBRARY, BOOKS, RASPBERRY, FRUIT, PI
LLOW, SLEEP, CLOTHES, WEAR
21030 DATA BICYCLE, RIDE, DESSERT, CAKE, TELEPHONE, TALK, PI MMO, M
USIC, PENCIL, WRITE
21040 DATA SLEI6H,SN0W,0CEAN, WATER, A I RPLAhE,in_Y, EXERCISE, JO
G, GIRAFFE, ANIMAL
TABLE OF VARIABLES
B*<*) - SCRAMBLED WORD ARRAY
1030 4060 4110 4130 4160
BL - BOTTOM OF LIST MARKER
1020 lOOlO 20100 20110 20120
20120 20130
C* - CORRECT WORD
4020 4030 4090 4180 11030
D« - SINGLE LETTER OF WORD
4090 4130
FL*(*) - WORD LIST
1030 1050 4020 20100 20100
HN«(«) - HINT LIST
1030 1050 16020 16030 20110
20110
HT - HIT
4280 12010 15010 20080
I - COUNTER
1040 1050 1050 1060 2010 2030
2040 2050 2060 2080 4050 4060
4070 4080 4090 4140 4150 4160
4170
J - RANDOM NUMBER FOR POSITION
4100 4110 4130
L - LENGTH OF WORD
4030 4050 4080 4100 4150
NAS - NAME
2130 2150 12020 14010
R - RANDOM NUMBER
4020 lOOlO 16020 16030 20100
20110
S« - STUDENT ANSWER
4260 IIOIO 11030 14010 20020
20030 20060
89
T« - SCRAMBLED WORD
4040 4160 4160 4180 4220
TL - NUMBER OF WORDS IN LIST
lOlO 1020 1030 1030 1040
TR - NUMBER OF TRIES
11020 11020 15030 15040 20070
END OF VAR. LIST
SAMPLE RUN
HI! I'M YOUR FRIENDLY COMPUTER!
WHAT IS YOUR NAME?
?MARLA
I'M GLAD TO MEET YOU, MARLA.
WE ARE GOING TO PLAY A WORD GAME.
I WILL THINK OF A WORD AND
SCRAMBLE UP THE LETTERS.
I WILL SHOW YOU THE LETTERS,
AND YOU HAVE TO GUESS THE WORD!
IF YOU TYPE IN A '?' I WILL
GIVE YOU A HINT.
HERE WE GO!
HERE IS THE SCRAMBLED WORD.
LEHNTOEEP
WHAT DO YOU THINK THE WORD IS?
TYPE IN A '?' FOR A HINT.
?ELEPHANT
SORRY, MARLA. ELEPHANT
IS NOT THE WORD. TRY AGAIN!
HERE IS THE SCRAMBLED WORD.
LEHNTOEEP
WHAT DO YOU THINK THE WORD IS?
TYPE IN A '?' FOR A HINT.
??
TALK
HERE IS THE SCRAMBLED WORD.
LEHNTOEEP
90
WHAT DO YOU THINK THE WORD IS?
TYPE IN A "?' FOR A HINT.
7TELEPH0NE
GOOD GUESS, MARL A!
YOU FOUND THE WORD IN
2 TRIES!
WOULD YOU LIKE ANOTHER WORD (YES OR NO)?NO
BYE FOR NOW!
91
/ *i
Bee fe.;
Spelling Quiz
PROGRAM DESCRIPTION
This program selects spelling words from an instructor-made
data file. The computer rapidly scrolls a word at different time
intervals and then asks you to spell the selected word. You may
choose at which time interval (shorty medium, or long) you want
the computer to display the word to be spelled. At the end of the
data word file, the computer will repeat any words that were
missed until all of the words in the file are spelled correctly.
PROGRAM NOTES
1. Consider "flashing" the words, rather than scrolling them.
This can be done by clearing the screen, printing the word,
then clearing the screen again.
2. Consider presenting the words over the ATARI tape recorder.
This will require a bit of research, and you won't be able to
randomize, but it would be interesting!
PROGRAM LISTING: BASIC
lOO REM SPELLING QUIZ BY GARY ORWIG
lOOO REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS
IN YOUR DATA SET.
lOlO TL=20
1020 DIM A* (30)
1030 DIM NA«(30)
1040 DIM S*<30)
92
1050
1060
1070
1080
1090
1100
mo
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
REM USE FULL SCREEN
POKE 82,0
DIM W(TL)
REM CLEAR CORRECT ANSWER ARRAY
FOR 1=1 TO TL
W < I ) =0
NEXT I
REM INTRODUCTION
L=12
18000
SPELLING QUIZ"
I'M GLAD YOU COULD MAKE IT!
GOSUB
PRINT
GOSUB
D=200
GOSUB
PRINT
PRINT
INPUT NA*
PRINT
PRINT "IT'S NICE TO MEET YOU, ";NA«;".
L=4
GOSUB 18000
18000
19000
"HELLO!
"WHAT'S YOUR NAME?'
"THIS IS A GAME WHERE I WILL"
"GIVE YOU WORDS TO PRACTICE SPELLING.
"SINCE I CAN'T TALK, I WILL FLASH"
"A WORD ON THE SCREEN FOR JUST A"
"MOMENT, THEN I WILL WAIT FOR YOU"
"TO TYPE IT BACK IN."
CAN LET YOU SEE THE WORDS FOR:"
1. A SHORT TIME"
2. A MEDIUM TIME"
3. A LONG TIME"
"WHICH WOULD YOU PREFER (TYPE 1,2, OR 3)
T
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT "I
PRINT "
PRINT "
PRINT "
PRINT
PRINT
INPUT
T=T»50
PRINT "VERY GOOD, HERE WE GO!
GOSUB 19000
REM MAIN PROGRAM
GOSUB lOOOO
L=12
GOSUB
PRINT
GOSUB
D=T
GOSUB
GOSUB
18000
It
18000
19000
18000
;A4i
PRINT "WHAT WAS THE WORD"
INPUT S*
GOSUB ISOOO
GOSUB 11000
IF HT=1 THEN 4190
GOSUB 14000
PRINT "WE WILL TRY THAT ONE AGAIN LATER!
D=500
GOSUB 19000
GOTO 4010
93
4190 GOSUB 12000
4200 D=500
4210 GOSUB 19000
4220 GOTO 4010
lOOOO REM SEQUENCING
lOOlO W=W+1
10020 IF W=TL+1 THEN W=l
10030 IF W(W)=1 THEN GOTO lOOlO
10040 RESTORE
10050 FOR 1=1 TO W
10060 READ A$
10070 NEXT I
10080 RETURN
llOOO REM JUDGE ANSWER
11010 IF S«»A« THEN GOTO 11040
11020 HT=0
11030 RETURN
11040 HT=1
11050 RETURN
12000 REM REWARDS
12010 FOR 1=1 TO 100
12020 PRINT "GREAT! ";
12030 NEXT I
12040 C=C+1
12050 IF C=TL THEN 20000
12060 W(W)=1
12070 RETURN
14000 REM WRONG
14010 FOR 1=1 TO lOO
14020 PRINT "SORRY! ";
14030 NEXT I
14040 L=3
14050 GOSUB 18000
14060 RETURN
15000 REM SCORE KEEPING
15010 N=N+1
15020 RETURN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM TIME DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT "WE ARE FINISHED, ";NA<i;"!"
20020 PRINT "IT TOOK YOU ";N;" TRIES"
20030 PRINT "TO SPELL THE ";TL;" WORDS."
21000 REM DATA
2 1 1 DATA FEBRUARY , GHOST , ALUM I NUM , PRECEDE , FEOE I VE , JUDGEMENT
, KNOWLEDGE , FRAG I LE , N I NET Y , GUARANTEE
2 1 020 DATA J EWELR Y , NUCLEAR , OM I TTED , OCCURRENCE , MANAGEABLE , TEC
h«M I CAL, GRIEVANCE, EXCUSABLE, DEVELOPMENT , CCMiPETENT
94
TABLE OF VARIABLES
TL
101 O 1070 1090 10020 12050 20030
1020 4040 10060 IIOIO
NA«
1030 2090 2110 20010
S%
1040 4100 llOlO
M(
1070 llOO 10030 12060
I
1090 llOO mo 10050 10070 12010
12030 14010 14030 18010 18030 19010
19020
L
2010 2120 4020 14040 18010
D
2050 4060 4160 4200 19010
T
2270 2280 2280 4060
HT
4130 11020 11040
W
lOOlO lOOlO 10020 10020 10030 10050
12060
C
12040 12040 12050
N
15010 ISOIO 20020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM SPELLING QUIZ BY GARY ORWIG
SOO REM RESEED RND
51 O RANDOMIZE
1000 REM INITIALIZATION - SET 'TL' TO TOTAL NUMBER OF WORDS
IN YOUR DATA SET.
lOlO TL=20
1020 BL=TL
95
1030
1040
1050
1060
1070
loao
1090
2000
20 lO
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
DIM A*<TL)
FOR 1=1 TO TL
READ A«(I)
NEXT I
REM USE FULL SCREEN
POKE 82,0
CLS
REM INTRODUCTION
L=12
GOSUB 18000
PRINT "
60SUB 18000
D=2000
GOSUB 19000
PRINT "HELLO!
PRINT "WHAT'S YOUR NAME?"
INPUT NA«
PRINT
PRINT "IT'S NICE TO MEET YOU, ";NA«;".
L=4
GOSUB 18000
SPELLING QUIZ'
I'M GLAD YOU COULD MAKE IT!"
"THIS IS A GAME WHERE I WILL"
"GIVE YOU WORDS TO PRACTICE SPELLING."
"SINCE I CAN'T TALK, I WILL FLASH"
"A WORD ON THE SCREEN FOR JUST A"
"MOMENT, THEN I WILL WAIT FOR YOU"
"TO TYPE IT BACK IN."
"I CAN LET YOU SEE THE WORDS FOR:"
1. A SHORT TIME"
2. A MEDIUM TIME"
3. A LONG TIME"
"WHICH WOULD YOU PREFER (TYPE 1,2, OR 3>
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT T
T=T*200
PRINT "VERY GOOD, HERE WE GO!"
GOSUB 19000
REM MAIN PROGRAM
GOSUB 10000
L=12
GOSUB
PRINT
GOSUB
D=T
GOSUB
GOSUB
PRINT
INPUT S*
GOSUB
GOSUB
18000
18000
";A«(R)
19000
18000
"WHAT WAS THE WORD"
15000
11000
IF HT=1 THEN 4190
GOSUB 14000
PRINT "WE WILL TRY THAT OhHE AGAIN LATER!
96
4160 D=2000
4170 GOSUB 19000
4180 GOTO 4010
4190 GOSUB 12000
4200 D=2000
4210 GOSUB 19000
4220 REM DELETE CORRECT ANSWER FROM LIST OF WORDS
4230 A«(R)=A«(BL)
4240 BL=BL-1
4250 IF BL=0 THEN 20000
4260 GOTO 4010
lOOOO REM RANDOMIZATION
lOOlO R=RND(BL)
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF S»=A»(R) THEN 11040
11020 HT=0
11030 RETURN
11040 HT=1
11050 RETURN
12000 REM REWARDS
12010 FOR 1=1 TO 100
12020 PRINT "GREAT! " ;
12030 NEXT I
12040 RETURN
14000 REM WRONG
14010 FOR 1=1 TO lOO
14020 PRINT "SORRY! ";
14030 NEXT I
14040 L=3
14050 GOSUB 18000
14060 RETURN
15000 REM SCORE KEEPING
15010 N=N+1
15020 RETURN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM TIME DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT "WE ARE FINISHED, "iNA*;"!"
20020 PRINT "IT TOOK YOU ";N;" TRIES"
20030 PRINT "TO SPELL THE ";TL;" WORDS."
21000 REM DATA
21010 DATA FEBRUARY , GHOST , ALUM I NUM , PRECEDE , RECE I VE , JUDGEMENT
, KNOWLEDGE , FRAG I LE , N I NET Y , GUARANTEE
2 1 020 DATA JEWELRY , NUCLEAR , OM I TTED , OCCURRENCE , MANAGEABLE , TEC
HNICAL, GRIEVANCE, EXCUSABLE, DEVELOPMENT , COMPETENT
97
TABLE OF VARIABLES
A«(*) - SPELLING WORD ARRAY
1030 1050 4040 4230 4230 IIOIO
BL - BOTTOM OF LIST MARKER
1020 4230 4240 4240 4250 10010
D - DELAY TIMER
2050 4060 4160 4200 19010
HT - HIT (RIGHT ANSWER)
4130 11020 11040
1 - GENERAL PURPOSE COUNTER
1040 1050 1060 12010 12030
14010 14030 18010 18030 19010
19020
L - NUMBER OF SCROLLING LINES
2010 2120 4020 14040 18010
N - SCORE KEEPER
15010 15010 20020
NA* - STUDENT'S NAME
2090 21 lO 20010
R - RANDOM NUMBER
4040 4230 lOOlO llOlO
S* - STUDENT'S ANSWER
4100 llOlO
T - DISPLAY TIME
2270 2280 2280 4060
TL - NUMBER OF WORDS IN LIST
lOlO 1020 1030 1040 20030
END OF VAR. LIST
SAMPLE RUN
HELLO! I'M GLAD YOU COULD MAKE IT!
WHAT'S YOUR NAME?
?AMY
IT'S NICE TO MEET YOU, AMY.
THIS IS A GAME WHERE I WILL
GIVE YOU WORDS TO PRACTICE SPELLING.
SINCE I CAN'T TALK, I WILL FLASH
A WORD ON THE SCREEN FOR JUST A
98
MOMENT, THEN I WILL WAIT FOR YOU
TO TYPE IT BACK IN.
I CAN LET YOU SEE THE WORDS FOR:
1. A SHORT TIME
2. A MEDIUM TIME
3. A LONG TIME
WHICH WOULD YOU PREFER (TYPE 1,2, OR 3)
?1
VERY GOOD, HERE WE GO!
NUCLEAR
WHAT WAS THE WORD
7NUCLEAR
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT ! GREAT !
JUDGEMENT
WHAT WAS THE WORD
7JUDGEMENT
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT! GREAT! GREAT! GREAT! GREAT! GREAT!
GREAT ! GREAT !
TECHNICAL
WHAT WAS THE WORD
7TECHNICLE
SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! SORRY!
SORRY! SORRY! SORRY! SORRY! SORRY! SORRY! SOR
RY! SORRY! SORRY! SORRY! SORRY! SORRY! SORRY!
WE WILL TRY THAT ONE AGAIN LATER!
99
%'
V„
r-'J
Story Teller
*'/ilK
PROGRAM NOTES
1. Notice the DATA statements. Quotes are not used in the
standard ATARI BASIQ and commas cannot be used. In the
Microsoft BASIQ quotes are used^ and commas can be allowed
in the DATA statements.
2. Consider breaking your story at points and inserting questions
to test for comprehension.
3. The "999" at the end of the DATA is commonly called an EOF
(end of file) signal. It tells the computer that there is no more
data.
4. Consider adding an over-all comprehension test at the end of
your story.
PROGRAM DESCRIPTION
This program is an excellent drill for developing speed reading
skills. The computer prints out an instructor- made data file story
and you are requested to read the story as it is printed. You may
adjust the speed of the printed material depending on which
reading level you feel is most comfortable.
PROGRAM LISTING: BASIC
lOO REM STORY TELLER BY GARY ORWIG
500 DATA "WILL YOU WALK INTO MY PARLOR?" SAID
100
502 DATA THE SPIDER TO THE FLY -
504 DATA "TIS THE PRETTIEST LITTLE PARLOR THAT
506 DATA EVER YOU DID SPY.
508 DATA THE WAY INTO MY PARLOR IS UP A WINDING
510 DATA STAIR;
512 DATA AND I HAVE MANY CURIOUS THINGS TO SHOW
514 DATA YOU WHEN YOU'RE THERE."
516 DATA 7.
518 DATA "OH&NOScNO&"SAID THE LITTLE FLY;
520 DATA "TO ASK ME IS IN VAIN;
522 DATA FOR WHO GOES UP YOUR WINDING STAIR
524 DATA CAN NE'ER COME DOWN AGAIN."
526 DATA 7.
528 DATA "I'M SURE YOU MUST BE WEARYSc DEAR&
530 DATA WITH SOARING UP SO HIGH;
532 DATA WILL YOU NOT REST UPON MY LITTLE BED?"
534 DATA SAID THE SPIDER TO THE FLY.
536 DATA "THERE ARE PRETTY CURTAINS DRAWN AROUND;
538 DATA THE SHEETS ARE FINE AND THIN;
540 DATA AND IF YOU LIKE TO REST AWHILESe
542 DATA I'LL SNUGLY TUCK YOU IN!"
544 DATA V.
546 DATA "OH& NO«c NO&" SAID THE LITTLE FLY;
548 DATA "FOR I'VE OFTEN HEARD IT SAIDSc
550 DATA THEY NEVER& NEVER WAKE AGAINSc
552 DATA WHO SLEEP UPON YOUR BED!"
554 DATA 7.
556 DATA SAID THE CUNNING SPIDER TO THE FLY -
558 DATA "DEAR FRIENDSe WHAT CAN I DO
560 DATA TO PROVE THE WARM AFFECTION I'VE ALWAYS
562 DATA FELT FOR YOU?"
564 DATA 7.
566 DATA "I THANK YOU& GENTLE SIR«c" SHE SAIDSc
568 DATA "FOR WHAT YOU'RE PLEASED TO SAY8.
570 DATA AND BIDDING YOU GOOD MORNING NOW&
572 DATA I'LL CALL ANOTHER DAY."
574 DATA 7.
576 DATA THE SPIDER TURNED HIM ROUND ABOUT
578 DATA AND WENT INTO HIS DEN&
580 DATA FOR WELL HE KNEW THE SILLY FLY
582 DATA WOULD SOON COME BACK AGAIN;
584 DATA SO HE WOVE A SUBTLE WEB
586 DATA IN A LITTLE CORNER SLY«c
588 DATA AND SET HIS TABLE READYSc TO DlisE
590 DATA UPON THE FLY.
592 DATA 7.
594 DATA THEN HE CAME OUT TO HIS DCXIR AGAINSc
596 DATA AND MERRILY DID SING -
598 DATA "COME HITHER& HITHER& PRETTY FLY&
600 DATA WITH THE PEARL AND SILVER WING;
602 DATA YOUR ROBES ARE GREEN AND PURPLE -
604 DATA THERE'S A CREST UPON YOUR HEAD!
606 DATA YOUR EYES ARE LIKE THE DIAMOND BRIGHT
608 DATA BUT MINE ARE DULL AS LEAD!"
610 DATA 7.
612 DATA ALAS! ALAS! HOW VERY SOON
101
614 DATA THIS SILLY LITTLE FLY«e
616 DATA HEARING HIS WILY& FLATTERING WORDS
618 DATA CAME SLOWLY FLITTING BY.
620 DATA WITH BUZZING WINGS SHE HUNG ALOFT&
622 DATA THEN NEAR AND NEARER DREW;
624 DATA THINKING ONLY OF HER BRILLIANT EYESSe
626 DATA HER GREEN AND PURPLE HUE -
628 DATA THINKING ONLY OF HER CRESTED HEAD -
630 DATA POOR FOOLISH THING! AT LASTfic
632 DATA UP JUMPED THE CUNNING SPIDER&
634 DATA AND FIRMLY HELD HER FAST!
636 DATA '/.
638 DATA HE DRAGGED HER UP HIS WINDING STAIR&
640 DATA INTO HIS DISMAL DEN&
642 DATA WITHIN HIS LITTLE PARLOR -
644 DATA BUT SHE NE'ER CAME OUT AGAIN!
7.
X
650 DATA AND NOW& DEAR LITTLE CHILDREN&
652 DATA WHO MAY THIS STORY READSe
654 DATA TO IDLE& SILLYXc FLATTERING WORDS&
656 DATA I PRAY YOU NE'ER GIVE HEED;
658 DATA UNTO AN EVIL COUNSELOR CLOSE HEART&
660 DATA AND EAR& AND EYE&
662 DATA AND TAKE A LESSON FROM THIS Tf^E
664 DATA OF THE SPIDER AND THE FLY!
666 DATA 999
lOOO REM INITIALIZATION
lOlO DIM A«<60>
1020 REM USE FULL SCREEN
1030 POKE 82,0
2000 REM INTRODUCTION
L=24
18000
STORY TELLER"
646 DATA
648 DATA
2010
2020 GOSUB
2030 PRINT
18000
19000
18000
THIS IS A PROGRAM WHICH TELLS"
YOU A STORY. DO YOU WANT TO READ*
2040 L=12
2050 GOSUB
2060 D=250
2070 GOSUB
2080 GOSUB
2090 PRINT
2100 PRINT
21 lO PRINT
2120 PRINT
2130 PRINT
2140 PRINT
2150 PRINT
2160 PRINT
2170 PRINT
2180 L=8
2190 GOSUB 18000
2200 INPUT SA
2210 SP=SA*5
2220 PRINT
2230 PRINT "OK! HERE WE GO!"
2240 D=250
1.
2.
3.
FAST"
MEDIUM-
SLOW"
TYPE IN A NUMBER AND PRESS"
THE 'RETURN' KEY"
102
2250 60SUB 19000
2260 L=24
2270 60SUB 18000
4000 REM MAIN PROGRAM
4010 READ A«
4020 IF A»="999» THEN 20000
4030 IF A*="%" THEN GOTO 4110
4040 LE-LEN(A«}
4050 FOR 1=1 TO LE
4060 IF A*(I,I)="«t" THEN A* (1,1)='
4070 PRINT A«(I,I);
4080 FOR J=l TO SP
4090 NEXT J
4100 NEXT I
41 lO PRINT
4120 GOTO 4010
18000 REM SCROLL
18010 FOR 1=1 TO L
1S020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT
20020 PRINT "THE END"
20030 END
TABLE OF VARIABLES
A«
lOlO 4O10 4020 4030 4040 4060
4060 4070
2010 2040 2180 2260 18010
2060 2240 19010
SA
2200 2210
SP
22 lO 4080
LE
4040 4050
4050 4060 4060 4060 4060 4070
4070 4100 18010 18030 19010 19020
103
4080 4090
PROGRAM LISTING; MICROSOFT BASIC
lOO
REM
500
DATA
502
DATA
504
DATA
506
DATA
508
DATA
510
DATA
512
DATA
514
DATA
516
DATA
518
DATA
520
DATA
522
DATA
524
DATA
526
DATA
528
DATA
530
DATA
532
DATA
534
DATA
536
DATA
538
DATA
540
DATA
542
DATA
544
DATA
546
DATA
548
DATA
550
DATA
552
DATA
554
DATA
556
DATA
558
DATA
560
DATA
562
DATA
564
DATA
566
DATA
568
DATA
570
DATA
572
DATA
574
DATA
576
DATA
578
DATA
580
DATA
582
DATA
584
DATA
586
DATA
588
DATA
590
DATA
592
DATA
594
DATA
596
DATA
STORY TELLER BY GARY ORWIG
"'WILL YOU WALK INTO MY PARLOR?' SAID"
"THE SPIDER TO THE FLY -"
"'TIS THE PRETTIEST LITTLE PARLOR THAT"
"EVER YOU DID SPY. "
"THE WAY INTO MY PARLOR IS UP A WINDING"
"STAIR; "
"AND I HAVE MANY CURIOUS THINGS TO SHOW"
"YOU WHEN YOU'RE THERE.'"
■I 11
"'OH, NO, NO, 'SAID THE LITTLE FLY;"
"'TO ASK ME IS IN VAIN;"
"FOR WHO GOES UP YOUR WINDING STAIR"
"CAN NE'ER COME DOWN AGAIN.'"
II 11
"'I'M SURE YOU MUST BE WEARY, DEAR,"
"WITH SOARING UP SO HIGH; "
"WILL YOU NOT REST UPON MY LITTLE i^D?' "
"SAID THE SPIDER TO THE FLY. "
"'THERE ARE PRETTY CURTAINS DRAWN AROUND;
"THE SHEETS ARE FINE AND THIN;"
"AND IF YOU LIKE TO REST AWHILE,"
" I ' LL SNUGLY TUCK YOU IN ! ' "
•I 11
"'OH, NO, NO,' SAID THE LITTLE FLY;"
"'FOR I'VE OFTEN HEARD If SAID,"
"THEY NEVER, NEVER WAKE AGAIN,"
"WHO SLEEP UPON YOUR BED!'"
■■ It
"SAID THE CUNNING SPIDER TO THE FLY -"
"'DEAR FRIEND, WHAT CAN I DO"
"TO PROVE THE WARM AFFECTION I'VE ALWAYS"
"FELT FOR YOU?'"
■I 11
"'I THANK YOU, GENTLE SIR,' SHE SAID,"
"'FOR WHAT YOU'RE PLEASED TO SAY,"
"AND BIDDING YOU GOOD MORNING NOW,"
"I'LL CALL ANOTHER DAY.'"
it 11
"THE SPIDER TURNED HIM ROUND ABOUT"
"AND WENT INTO HIS DEN,"
"FOR WELL HE KNEW THE SILLY FLY"
"WOULD SOON COME BACK AGAIN;"
"SO HE WOVE A SUBTLE WEB"
"IN A LITTLE CORNER SLY,"
"AND SET HIS TABLE READY, TO DINE"
"UPON THE FLY. "
l> 11
"THEN HE CAME OUT TO HIS DOOR AGAIN,"
"AND MERRILY DID SING -"
104
598 DATA "'COME HITHER, HITHER, PRETTY FLY, "
600 DATA "WITH THE PEARL AND SILVER WING;"
602 DATA "YOUR ROBES ARE GREEN AND PURPLE -"
604 DATA "THERE'S A CREST UPON YOUR HEAD!"
YOUR EYES ARE LIKE THE DIAMOND BRIGHT'
BUT MINE ARE DULL AS LEAD!'"
606 DATA
608 DATA
610 DATA
612 DATA
614 DATA
616 DATA
618 DATA
ALAS! ALAS! HOW VERY SOON"
THIS SILLY LITTLE FLY,"
HEARING HIS WILY, FLATTERING WORDS"
CAME SLOWLY FLITTING BY."
620 DATA "WITH BUZZING WINGS SHE HUNG ALOFT,"
622 DATA "THEN NEAR AND NEARER DREW;"
624 DATA "THINKING ONLY OF HER BRILLIANT EYES,'
626 DATA "HER GREEN AND PURPLE HUE -"
628 DATA "THINKING ONLY OF HER CRESTED HEAD -"
630 DATA "POOR FOOLISH THING! AT LAST,"
632 DATA "UP JUMPED THE CUNNING SPIDER,"
634 DATA "AND FIRMLY HELD HER FAST!"
636 DATA " "
638 DATA "HE DRAGGED HER UP HIS WINDING STAIR,'
640 DATA "INTO HIS DISMAL DEN,"
642 DATA "WITHIN HIS LITTLE PARLOR -"
644 DATA "BUT SHE NE'ER CAME OUT AGAIN!"
646 DATA " "
648 DATA " "
650 DATA "AND NOW, DEAR LITTLE CHILDREN,"
652 DATA "WHO MAY THIS STORY READ,"
654 DATA "TO IDLE, SILLY, FLATTERING WORDS,"
656 DATA "I PRAY YOU NE'ER GIVE HEED;"
658 DATA "UNTO AN EVIL COUNSELOR CLOSE HEART,"
660 DATA "AND EAR, AND EYE, "
662 DATA "AND TAKE A LESSON FROM THIS TALE"
664 DATA "OF THE SPIDER AND THE FLY!"
666 DATA 999
lOOO REM INITIALIZE
lOlO REM USE FULL SCREEN
1020 POKE 82,0
1030 CLS
2000 REM INTRODUCTION
2010 L = 24
2020 GOSUB 18000
2030 PRINT " STORY TELLER"
2040 L = 12
2050 GOSUB 18000
2060 D = 1000
2070 GOSUB 19000
2080 GOSUB 18000
2090 PRINT "THIS IS A PROGRAM WHICH TELLS"
2100 PRINT "YOU A STORY. DO YOU WANT TO READ"
21 lO PRINT
2120 PRINT "
2130 PRINT "
2140 PRINT "
2150 PRINT
2160 PRINT "TYPE IN A
1. FAST"
2. MEDIUM'
3. SLOW"
NUMBER AND PRESS'
105
2170 PRINT "THE 'RETURN'"
2180 L = 8
2190 60SUB 18000
2200 INPUT SA
2210 SP = SA » 25
2220 PRINT
2230 PRINT "OK! HERE WE 80!"
2240 D = 1000
2250 GOSUB 19000
2260 L = 24
2270 GOSUB 18000
40 lO READ A«
4020 IF A* = ••999" JHEN 20000
4030 LE = LEN (A«)
4040 FOR I = 1 TO LE
4050 PRINT MID» (A«, 1,1);
4060 FOR J = 1 TO SP
4070 NEXT J
4080 NEXT I
4090 PRINT
4100 GOTO 4010
18000 REM SCROLL
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT
20020 PRINT "THE END"
20030 END
TABLE OF VARIABLES
A* - ONE LINE OF STCWY
4010 4020 4030 4050
D - DELAY
2060 2240 19010
I - COUNTER
4040 4050 4080 18010 18030
19010 19020
J - COUNTER
4060 4070
L - LINES OF SCROLLING
2010 2040 2180 2260 18010
LE - LENGTH OF LINE A*
4030 4040
106
SA - STUDENT ANSWER
2200 2210
SP - SPEED OF PRINT
2210 4060
END OF VAR. LIST
SAMPLE RUN
THIS IS A PROGRAM WHICH TELLS
YOU A STORY. DO YOU WANT TO READ
1. FAST
2. MEDIUM
3. SLOW
TYPE IN A NUMBER AND PRESS
THE 'RETURN' KEY TO CONTINUE.
?1
OK! HERE WE GO!
'WILL YOU WALK INTO MY PARLOR?' SAID
THE SPIDER TO THE FLY -
'TIS THE PRETTIEST LITTLE PARLOR THAT
EVER YOU DID SPY.
THE WAY INTO MY PARLOR IS UP A WINDING
STAIR;
AND I HAVE MANY CURIOUS THINGS TO SHOW
YOU WHEN YOU'RE THERE.'
'OH, NO, NO, 'SAID THE LITTLE FLY;
'TO ASK ME IS IN VAIN;
FOR WHO GOES UP YOUR WINDING STAIR
CAN NE'ER COME DOWN AGAIN.'
'I'M SURE YOU MUST BE WEARY, DEAR,
WITH SOARING UP SO HIGH;
WILL YOU NOT REST UPON MY LITTLE BED?'
SAID THE SPIDER TO THE FLY.
'THERE ARE PRETTY CURTAINS DRAWN AROUND;
THE SHEETS ARE FINE AND THIN;
AND IF YOU LIKE TO REST AWHILE,
I'LL SNUGLY TUCK YOU IN!'
'OH, NO, NO,' SAID THE LITTLE FLY;
'FOR I'VE OFTEN HEARD IT SAID,
THEY NEVER, NEVER WAKE AGAIN,
WHO SLEEP UPON YOUR BED!'
SAID THE CUNNING SPIDER TO THE FLY -
107
'DEAR FRIEND, WHAT CAN I DO
TO PROVE THE WARM AFFECTION I'VE ALWAYS
FELT FOR YOU?'
' I THANK YOU, GENTLE SIR, ' SHE SAID,
'FOR WHAT YOU'RE PLEASED TO SAY,
AND BIDDING YOU GOOD MORNING NOW,
I'LL CALL ANOTHER DAY.'
THE SPIDER TURNED HIM ROUND ABOUT
AND WENT INTO HIS DEN,
FOR WELL HE KNEW THE SILLY FLY
WOULD SOON COME BACK AGAIN;
SO HE WOVE A SUBTLE WEB
IN A LITTLE CORNER SLY,
AND SET HIS TABLE READY, TO DINE
UPON THE FLY.
THEN HE CAME OUT TO HIS DOOR AGAIN,
AND MERRILY DID SING -
'COME HITHER, HITHER, PRETTY FLY,
WITH THE PEARL AND SILVER WING;
YOUR ROBES ARE GREEN AND PURPLE -
THERE'S A CREST UPON YOUR HEAD!
YOUR EYES ARE LIKE THE DIAMOND BRIGHT
BUT MINE ARE DULL AS LEAD!'
ALAS! ALAS! HOW VERY SOON
THIS SILLY LITTLE FLY,
HEARING HIS WILY, FLATTERING WORDS
CAME SLOWLY FLITTING BY.
WITH BUZZING WINGS SHE HUNG ALOFT,
THEN NEAR AND NEARER DREW;
THINKING ONLY OF HER BRILLIANT EYES,
HER GREEN AND PURPLE HUE -
THINKING ONLY OF HER CRESTED HEAD -
POOR FOOLISH THING! AT LAST,
UP JUMPED THE CUNNING SPIDER,
AND FIRMLY HELD HER FAST!
HE DRAGGED HER UP HIS WINDING STAIR,
INTO HIS DISMAL DEN,
WITHIN HIS LITTLE PARLOR -
BUT SHE NE'ER CAME OUT AGAIN!
AND NOW, DEAR LITTLE CHILDREN,
WHO MAY THIS STORY READ,
TO IDLE, SILLY, FLATTERING WORDS,
I PRAY YOU NE'ER GIVE HEED;
UNTO AN EVIL COUNSELOR CLOSE HEART,
AND EAR, AND EYE,
AND TAKE A LESSON FROM THIS TALE
OF THE SPIDER AND THE FLY!
THE END
108
Synonyms/
Antonyms
PROGRAM DESCRIPTION
This program is a word game to learn the differences between
synonyms and antonyms. The computer will first define a
synonym and an antonym for the purposes of the program. Then a
list of words is chosen by the computer with synonyms or
antonyms mixed in with the selected words. The computer does
not tell you whether there are synonyms or antonyms in the list of
words; you do^ however, have the option of selecting the number of
paired words (synonyms or antonyms) within the list. By using
multiple-choice questions, the computer asks you to select either
synonyms or antonyms that are hidden in the list of words. You
need to know the definitions of all the words in the list, because
you have to answer all of the questions correctly in order to finish
the program.
PROGRAM NOTES
1. If you prefer, you can announce whether the student should
look for a synonym or an antonym. This would require
another array, which would contain the necessary information
for each problem.
2. Consider adding homonyms to the program.
109
PROGRAM LISTING: BASIC
lOO REM SYNONYMS'ANTONYMS BY GARY ORWIO
SOO REM PUT MESSAGE ON SCREEN
510 PRINT
520 PRINT "PLEASE WAIT FOR A MOMENT!"
530 PRINT "I AM READING DATA STATEMENTS."
1000 REM INITIALIZATION - SET 'TL* EQUAL TO THE NUMBER OF PR
OBLEMS IN YOUR DATA SET.
lOlO TL=20
1020 BL=TL
1030 LN=1
1040 TL=TL+1
1050 DIM Q»<TL»20),A1*<TL*20),A2*<TL»20),A3«<TL»20),A4*(TL*2
0),KE(TL)
1060 DIM ai«(20),AlI«(20),A2I«(20>,A3I«(20),A4I«<20>
1070 DIM NA«(30),S»(5)
1080 FC« 1=1 TO TL
1090 Q*<I*20-19,I»20)="
llOO ttEXT I
1 1 02 A 1 «=Q« : A2«=Q« : A3$=Q« : A4«=Q«
mo FOR 1=1 TO TL
1120 READ QI«,A1I«,A2I»,A3I«,A4I«,KE
1130 Q«(LN)=QI«
1140 A1«(LN)=A1I«
IISO A2«(LN)=A2I«
lihO A3«(LN)=A3I«
1170 A4«(LN)=A4I«
1180 KE(I)=KE
1190 LN=LN+20
1200 NEXT I
12 lO TL=TL-1
1220 REM USE FULL SCREEN
1230 POKE 82, O
1240 PRINT
2000 REM INTRODUCTION
2010 FOR 1=1 TO 50
2020 PRINT "SYNONYMS - ANTONYMS ";
2030 NEXT I
2040 D=200
2050 GOSUB 19000
2060 L=12
2070 GOSUB 18000
2080 PRINT "WHAT IS YOUR NAME?"
2090 GOSUB 18000
2100 II«>UT NA«
21 lO PRINT
2120 PRINT
2130 PRINT "I'M HAPPY TO MEET YOU, ";NA»;"."
2140 PRINT
2150 PRINT
2160 PRINT "THIS IS A GAME OF SYNONYMS"
2170 PRINT "AND ANTONYMS."
2180 PRINT
2190 PRINT "DO YOU NEED INSTRUCTIONS?"
2200 PRINT "TYPE IN A YES OR A NO."
110
2210 INPUT S«
2220 IF S«=-IMO" THEN 2420
2230 60SUB 18000
2240 PRINT "THIS IS REALLY PRETTY EASY,
2250 PRINT
';NA«;".
2260 PRINT
2270 PRINT
2280 PRINT
2290 PRINT
2300 PRINT
2310 PRINT
2320 PRINT
"A 'SYNONYM' IS A WORD WHICH MEANS"
"ABOUT THE SAME THING AS ANOTHER WORD.
"FOR EXAMPLE, 'FAST' AND 'SWIFT' "
"ARE SYNONYMS. THEY MEAN ABCHJT THE"
"SAME THINS."
2330 PRINT
2340 PRINT
"ANTONYMS, ON THE OTHER HAND, ARE"
"OPPOSITES. FOR EXAMPLE, 'FAST' AND*
"'SLOW' ARE ANTONYMS. THEY MEAN"
2350 PRINT "OPPOSITE THINGS."
2360 PRINT
2370 PRINT
2380 PRINT
2390 PRINT
2400 PRINT
2410 PRINT
2420 PRINT
2430 PRINT
2440 PRINT
"LET'S TRY SOME GROUPS OF WORDS."
"FOR EACH WORD AT THE TOP, TRY TO"
"PICK A SYNONYM OR ANTONYM FROM THE"
"LIST. "
'RETURN'
OR 4";
READY? PUSH THE
KEY TO BEGIN. "
2450 IW>UT S*
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 GOSUB 17000
4030 PRINT "TYPE IN A 1, 2, 3,
4040 INPUT SA
40S0 IF SA<1 C» SA>4 THEN 4030
4060 GOSUB ISOOO
4070 GOSUB llOOO
4080 IF HT=1 THEN 4140
4090 GOSUB 14000
4100 PRINT "WE WILL TRY THAT ONE AGAIN LATER!
41 lO D=200
4120 GOSUB 19000
4130 GOTO 4010
4140 GOSUB 12000
4150 D=200
4160 GOSUB 19000
4170 REM DELETE CORRECT WORDS FROM LIST
4180 Q«(BW,EW)=Q«(BL«20-19,BL«20)
4190 Al» <BW,EW) -Al« (BL*20-19, BL*20)
4200 A2« ( BW , EW ) =A2« ( BL«20- 1 9 , BL*20 )
4210 A3* (BW, EW) =A3« <BL»20-19, BL«20}
4220 A4« ( BW , EW ) =A4« ( BL*20- 1 9 , BL*20 )
4230 KE(R)=KE(BL}
4240 BL=BL-1
4250 IF BL=0 THEN GOTO 20000
4260 GOTO 4010
lOOOO REM RANDOMIZATION
lOOlO R=INT(RND(0)*BL>+1
10020 BW=R»20-19
10030 EW=R«20
111
112
10040 RETURN
11000 REM JUDGE ANSWER
IIOIO IF SAsKE(R) THEN 11040
11020 HT=0
11030 RETURN
11040 HT=1
11050 RETURN
12000 REM REWARD
12010 PRINT
12020 PRINT "SREAT!"
12030 PRINT
12040 RETURN
14000 REM WRONG
14010 PRINT
14020 PRINT "SORRY!"
14030 PRINT
14040 RETURN
15000 REM SCORE KEEPING
15010 N=N+1
15020 RETl«N
17000 REM PRINT OUT PROBLEM
17010 L=12
17020 GOSUB 18000
17030 PRINT Q«(BW,EW)
17040 PRINT /
17050 PRINT " 1.
170&0 PRINT " 2.
17070 PRINT " 3.
170B0 PRINT " 4.
17090 L=B
17100 GOSUB 18000
171 lO RETURN
18000 REM PRINT LINES
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FCMR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 L=12
20020 GOSUB 18000
20030 PRINT "IT TOOK ";N;" TRIES TO GET"
20040 PRINT TL;" PROBLEMS CORRECT!"
20050 END
21000 REM DATA
21010 DATA SHORT, LONG, OPEN, HEAVY, CLOSE, 1
21020 DATA SLY, CUNNING, TIRED, PRETTY, GENTLE, 1
21030 DATA SHARP, DULL, HOT, AWFUL, FAST, 1
2 1 040 DATA SMART , TERR I BLE , CLEVER , HUGE , RAP I D , 2
21050 DATA ODD, HARSH, EVEN, CORRECT, SMALL, 2
21060 DATA ERECT, SLOW, BUILD, REPORT, SOFT, 2
21070 DATA SOFT, SWIFT, THICK, FAT, HARD, 4
21080 DATA QUICK, GENTLE, CRUEL, SUBTLE, FAST, 4
21090 DATA YOUNG, SMART, HAPPY, GAWKY, OLD, 4
";A1«(BW,EW)
";A2«(BW,EW)
";A3«(BW,EW)
";A4»(BW,EW)
21100 DATA KIND, BLUNT, GRACIOUS, REGULAR, SMI FT, 2
21 no DATA LITTLE, COLD, ENORMOUS, BULKY, STRONG, 2
2 1 1 20 DATA SLENDER , GENTLE , OBV I OUS , TH IN , I DLE , 3
21130 DATA HEAVY, SKILLFUL, COMMON, LIGHT, LAME, 3
21140 DATA MILD, GHOSTLY, SPACIOUS, CALM, CRAFTY, 3
21150 DATA FAR, NEAR, DARK, HOLLOW, AFTER, 1
21160 DATA DECREASE, APPROACH, TREMBLE, REST, DIMINISH, 4
21170 DATA POOR, SICK, EASY, DOWDY, WEALTHY, 4
2 1 1 80 DATA AWKWARD , CLUMSY , AM I ABLE , B I G , SLENDER , 1
21190 DATA REMEMBER, CLEAR, APPROACH, FCMRGET, ATTACK, 3
2 1 200 DATA PROGRESS , BEW I TCH , ADVANCE , SCATTER , D I SGU I SE , 2
21210 REM THIS LINE IS l>EEDED TO FILL OUT THE STRINGS
21220 DATA END , END , END , END , END , 1
TABLE OF VARIABLES
TL
lOlO 1020 1040 1040 1050 1050
1050 1050 1050 1050 1080 lllO
1210 1210 20040
BL
1020 4180 4180 4190 4190 4200
4200 4210 42 lO 4220 4220 4230
4240 4240 4250 lOOlO
LN
1030 1130 1140 1150 1160 1170
1190 1190
1050 1090 1102 1102 1102 1 102
1130 4180 4 ISO 17030
Al«
1050 1102 1140 4190 4190 17050
A2*
1050 1102 1150 4200 4200 17060
A3«
1050 1102 1160 4210 4210 17070
A4«
1050 1102 1170 4220 4220 17080
KE(
1050 1180 4230 4230 IIOIO
QI«
1060 1120 1130
113
114
All*
1060 1120 1140
A2I«
1060 1120 1150
A3I«
1060 1120 1160
A4I«
1060 1 120 1 170
IMA«
1070 2100 2130 2240
S«
1070 22 lO 2220 2450
I
1080 1090 1090 llOO 1110 1180
1200 2010 2030 18010 18030 19010
19020
KE
1120 1180
D
2040 41 lO 4150 19010
L
2060 17010 17090 18010 20010
SA
4040 4050 4050 IIOIO
HT
4080 11020 11040
BW
4180 4190 4200 4210 4220 10020
17030 17050 17060 17070 17080
EW
4180 4190 4200 42 lO 4220 10030
17030 17050 17060 17070 17080
R
4230 lOOlO 10020 10030 11010
N
15010 15010 20030
PROGRAM LISTING: MICROSOFT BASIC
lOO REM SYNONYMS-ANTONYMS BY GARY ORWIG
SOO REM RESEED RND
'TL' EQUAL TO THE NUMBER OF
SIO RANDOMIZE
lOOO REM INITIALIZATION - SET
PROBLEMS IN YOUR DATA SET.
lOlO TL = 20
1020 BL = TL
1030 DIM Q*(TL),A1«<TL),A2«<TL),A3*(TL),A4*<TL),KE(TL)
1040 FOR I = 1 TO TL
1050 READ Q«(I),A1«(I),A2«(I},A3«(I>,A4«(I),KE(I)
1060 NEXT I
REM USE FULL SCREEN
POKE 82,0
CLS
REM INTRODUCTION
FOR I = 1 TO 15
FOR J = 1 TO 50
NEXT J
PRINT "SYNONYMS - ANTONYMS " ;
NEXT I
1070
1080
1090
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
D = 2500
GOSUB 19000
L = 12
GOSUB 18000
PRINT
GOSUB
INPUT
2130 PRINT
2140 PRINT
"WHAT
18000
NA«
IS YOUR NAME?"
2150
2160
21 70
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
IF S*
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
I'M HAPPY TO MEET YOU, ";NA«;
"THIS IS A GAME OF SYNONYMS"
"AND ANTONYMS. "
"DO YOU NEED INSTRUCTIONS?"
"TYPE IN A YES OR A NO."
S«
= "NO" THEN 3060
18000
"THIS IS REALLY PRETTY EASY, ";NA»;".'
"A 'SYNONYM' IS A WORD WHICH MEANS"
"ABOUT THE SAME THING AS ANOTHER WORD.
"FOR EXAMPLE, 'FAST' AND 'SWIFT' "
"ARE SYNONYMS. THEY MEAN ABOUT THE"
"SAME THING. "
2340 PRINT "ANTONYMS, ON THE OTHER HAND, ARE"
2350 PRINT "OPPOSITES. FOR EXAMPLE, 'FAST' AND"
"'SLOW' ARE ANTONYMS. THEY MEAN"
"OPPOSITE THINGS. "
2360 PRINT
2370 PRINT
3000 PRINT
3010 PRINT
3020 PRINT
3030 PRINT
3040 PRINT
3050 PRINT
3060 PRINT
"LET'S TRY SOME GROUPS OF WORDS."
"FOR EACH WORD AT THE TOP, TRY TO"
"PICK A SYNONYM OR ANTONYM FROM THE'
"LIST. "
115
116
3070
3080
3090
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
lOOOO
lOOlO
10020
llOOO
IIOIO
11020
11030
11040
11050
12000
12010
12020
12030
12040
14000
14010
14020
14030
14040
15000
15010
15020
17000
17010
17020
17030
17040
PRINT "READY? PUSH THE 'RETURN'"
PRINT "KEY TO BEGIN."
INPUT S*
REM MAIN PROGR^Mi
GOSUB lOOOO
60SUB 17000
PRINT "TYPE IN A 1, 2, 3, OR 4"?
INPUT SA
IF SA < 1 OR SA > 4 THEN 4030
GOSUB ISOOO
GOSUB llOOO
IF HT = 1 THEN 4140
GOSUB 14000
PRINT "WE WILL TRY THAT ONE AGAIN LATER!"
D = 2000
GOSUB 19000
GOTO 40 lO
GOSUB 12000
D = 2000
GOSUB 19000
REM DELETE CORRECT WORDS FROM LIST
Q«(R) = Q«(BL)
= A1«(BL)
= A2«(BL)
= A3«(BL)
= A4«(BL)
KE<BL)
GOTO 20000
A1«(R)
A2«(R)
A3*(R)
A4«(R>
KE(R) =
BL = BL - 1
IF BL = O THEN
GOTO 4010
REM RANDOM I Z AT I ON
R = RND(BL)
RETURN
REM JUDGE ANSWER
IF SA = KE(R) THEN 11040
HT = O
RETURN
HT = 1
RETURN
REM REWARD
PRINT
PRINT "GREAT!"
PRINT
RETURN
REM WRONG
PRINT
PRINT "SORRY!"
PRINT
RETURN
REM SCORE KEEPING
N = N + 1
RETURN
REM PRINT OUT PROBLEM
L = 12
GOSUB 18000
PRINT Q*(R)
PRINT
17050
17060
17070
i7oao
17090
17100
17110
18000
18010
18020
18030
18040
19000
19010
19020
19030
20000
200 lO
20020
20030
20040
20050
21000
21010
21020
21030
21040
21050
21060
21070
21080
21090
21100
21110
21120
21130
21140
21150
21160
21170
21180
21190
21200
21210
1.
2.
3.
4.
";A1*(R)
";A2«(R)
";A3S(R)
";A4«(R)
PRINT "
PRINT ••
PRINT "
PRINT "
L = 8
60SUB 18000
RETURN
REM PRINT LINES
FOR I = 1 TO L
PRINT
NEXT I
RETURN
REM DELAY
FOR I = 1 TO D
NEXT I
RETURN
REM CLOSING
L = 12
GOSUB 18000
PRINT "IT TOOK ";N;" TRIES TO GET"
PRINT TL;" PROBLEMS CORRECT!"
END
REM DATA
DATA SHORT, LONG, OPEN, HEAVY, CLOSE, 1
DATA SLY , CUNN I N6 , T I RED , PRETTY , GENTLE , 1
DATA SHARP , DULL , HOT , AWFUL , FAST , 1
DATA SMART, TERRIBLE, CLEVER, HUGE, RAPID, 2
DATA ODD , HARSH , EVEN , CORRECT , SMALL , 2
DATA ERECT , SLOW , BU I LD , REPORT , SOFT , 2
DATA SOFT, SWIFT, THICK, FAT, HARD, 4
DATA QU I CK , GENTLE , CRUEL , SUBTLE , FAST , 4
DATA YOUNG, SMART, HAPPY, GAWKY, OLD,4
DATA KIND, BLUNT , 6R AC I OUS , REGULAR , SW I FT , 2
DATA L I TTLE , COLD , ENORMOUS , BULKY , STRCN4G , 2
DATA SLENDER, GENTLE, OBVIOUS, THIN, IDLE, 3
DATA HE A V Y , SK I LLFUL , COMMON , L I GHT , LAME , 3
DATA M I LD , GHOSTLY , SP AC I OUS , CALM , CRAFTY , 3
DATA FAR , NEAR , DARK , HOLLOW , AFTER , 1
DATA DECREASE , APPROACH , TREMBLE , REST ,DIMINISH,4
DATA POOR , S I CK , EASY , DOWDY , WEALTHY , 4
DATA AWKWARD , CLUMSY , AM I ABLE , B I G , SLENDER , 1
DATA REMEMBER , CLEAR , APPROACH , FORGET , ATTACK , 3
DATA PROGRESS , BEW I TCH , ADVANCE , SCATTER , D I S6U I SE , 2
DATA LAZY, LITTLE, ACTIVE, DIFFICULT, PRETTY, 2
TABLE OF VARIABLES
Al«(«) - ANSWERS 1
1030 1050 4190 4190 17050
A2*(*) - ANSWERS 2
1030 1050 4200 4200 17060
A3»(*) - ANSWERS 3
1030 1050 4210 4210 17070
117
118
A4«(«) - ANSWERS 4
1030 lOSO 4220 4220 17080
BL - BOTTOM OF LIST MARKER
1020 4iaO 4190 4200 4210 4220
4230 4240 4240 4250 10010
D - DELAY
2060 4110 4150 19010
HT - HIT
4080 11020 11040
I - COUNTER
1040 1050 1050 1050 1050 1050
lOSO 1060 2010 20SO 18010 18030
19010 19020
J - COUNTER
2020 2030
KE(») - KEYS
1030 1050 4230 4230 11010
L - LINES OF SCROLLING
2080 17010 17090 18010 20010
N - NIAIBER OF Gl^SSES
15010 15010 20030
NA« - NAME
2120 2150 2260
Q«(*) - QUESTIONS
1030 1050 4180 4180 17030
R - RANDOM NUMBER
4180 4190 4200 4210 4220 4230
lOOlO 11010 17030 17050 17060
17070 17080
S« - STUDENT ANSWER
2230 2240 3090
SA - STUDENT ANSWER
4040 4050 4050 11010
TL - QUESTIONS IN LIST
lOlO 1020 1030 1030 1030 1030
1030 1030 1040 20040
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
7MELISSA
I'M HAPPY TO MEET YOU, MELISSA.
THIS IS A GAME OF SYNONYMS
AND ANTONYMS.
DO YOU NEED INSTRUCTIONS?
TYPE IN A YES OR A NO.
?YES
THIS IS REALLY PRETTY EASY, MELISSA.
A 'SYNONYM' IS A WORD WHICH MEANS
ABOUT THE SAME THING AS ANOTHER WORD.
FOR EXAMPLE, 'FAST' AND 'SWIFT'
ARE SYNONYMS. THEY MEAN ABOUT THE
SAME THING.
ANTONYMS, ON THE OTHER HAND, ARE
OPPOSITES. FOR EXAMPLE, 'FAST' AND
'SLOW' ARE ANTONYMS. THEY MEAN
OPPOSITE THINGS.
LET'S TRY SOME GROUPS OF WORDS.
FOR EACH WORD AT THE TOP, TRY TO
PICK A SYNONYM OR ANTONYM FROM THE
LIST.
READY? PUSH THE 'RETURN'
KEY TO BEGIN.
PROGRESS
1. BEWITCH
2. ADVANCE
3. SCATTER
4. DISGUISE
TYPE IN A 1, 2, 3, OR 4?2
GREAT !
SLENDER
1. GENTLE
2. OBVIOUS
3. THIN
4. IDLE
119
TYPE IN A 1, 2, 3, OR 4?3
GREAT !
POOR
1. SICK
2. EASY
3. DOWDY
4. WEALTHY
TYPE IN A 1, 2, 3, OR 474
GREAT !
QUICK
1. GENTLE
2. CRUEL
3. SUBTLE
4. FAST
TYPE IN A 1, 2, 3, OR 4?1
SORRY !
WE WILL TRY THAT ONE AGAIN LATER!
120
Test Tutor
PROGRAM DESCRIPTION
This program provides an instructor-made data base for
developing a review test on any subject. The instructor can insert
multiple-choice questions^ answers, and explanations to the
answers. If you answer a question correctly you have a choice
either to go on to the next question or to receive an explanation of
the answer. If you answer the question incorrectly, however, you
automatically receive an explanation of the answer and the
computer will ask you the same question again at a later time
during the review test. You must complete all of the questions
correctly before you can finish the program.
PROGRAM NOTES
1. The large spaces in the DATA statements are due to the 40
character per line spacing of the computer. If you don't space
over the 40th character position, the computer will "break" a
word over two lines.
2. Consider using A, B, C, or D for the multiple choice
answers.
3. You can enter your own questions. Just look at the DATA
statements. There are three for each problem: the question,
the selections (with key), and the explanation.
121
PROGRAM LISTING: BASIC
TEST TUTOR
100 REM TEST TUTOR BY OARY 0RWI6
1000 REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF PR
OBLEMS IN YOUR DATA SET.
lOlO TL=10
1020 DIM Q«(120),A1«(40),A2«(40),A3«(40),A4«(40),KE(TL),EX«(
120)
1030 DIM NA«(30),S«<5)
1040 REM USE FULL SCREEN
1050 POKE 82,0
1060 PRINT
1070 REM SET ARRAY TO O
lOeO FOR 1=1 TO TL
1090 KE(I)=0
llOO NEXT I
2000 REM INTRODUCTION
2010 FOR 1=1 TO SO
2020 PRINT "
2030 NEXT I
2040 D=200
20S0 GOSUB 19000
2060 L=12
2070 GOSUB
2080 PRINT
2090 GOSUB
2100 IlsffHJT NA«
2110 PRINT
2120 PRINT
2130 PRINT
2140 PRINT
2130 PRINT
2160 PRINT "THIS IS A PROGRAM WHICH WILL HELP"
2170 PRINT "YOU STUDY FOR YOUR TEST!
2180 PRINT "I WILL ASK YOU QUESTIONS, AND YOU PICK"
2190 PRINT "THE NUMBER OF THE CORRECT ANSWER."
2200 L=8
18000
"WHAT
18000
IS YOUR NAME?'
I'M HAPPY TO MEET YOU, "JNA«;"
22 lO GOSUB
2220 PRINT
2230 PRINT
18000
"READY? PUSH THE 'RETURN'
"KEY TO BEGIN."
2240 INPUT S*
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 IF KE(NX)=S THEN 4060
4030 C=0
4040 GOSUB 17000
4050 GOTO 4090
4060 C=C+1
4070 IF C=TL+1 THEN 20000
4080 GOTO 4010
4090 PRINT "TYPE
4100 INPUT SA
4110 IF SA<1 OR SA>4 THEN 4090
4120 GO^JB 15000
4130 GOSUB llOOO
4140 IF HT=1 THEN 4230
IN A 1, 2, 3, OR 4"!
122
■WE WILL TRY THAT ONE AGAIN LATER!
19000
41SO 60SUB 14000
4160 D»200
4170 GOSUB 19000
4180 GOSUB 6000
4190 PRINT
4200 Ds200
4210 GOSUB
4220 GOTO 4010
4230 GOSUB 12000
4240 D=200
4250 GOSUB 19000
4260 PRINT "WOULD YOU LIKE AN EXPLANATION?"
4270 PRINT "(TYPE IN 'YES' OR 'NO')"
4280 INPUT S«
4290 IF S«="YES" THEN GOSUB &000
4300 GOTO 4010
6000 REM EXPLANATION
6010 L=24
6020 GOSUB 18000
6030 PRINT EX«
6040 L=12
60S0 GOSUB 18000
6060 PRINT "PRESS 'RETURN' TO CONTIhflJE. "
6070 Il^nJT S«
6080 RETURN
lOOOO REM SEQUENCE QUESTIONS
lOOlO NX»NX+1
10020 IF NX<TL+1 THEN 10060
10030 NX=0
10040 RESTCfftE
lOOSO GOTO lOOlO
10060 READ Q«,A1«,A2«,A3«,A4«,KE,EX«
10070 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA=KE THEN 11040
11020 HT=0
11030 RETURN
11040 HT=1
llOSO KE<NX)=S
11060 RETURN
12000 REM REWARD
12010 PRINT
12020 PRINT "GREAT!"
12030 PRINT
12040 RETURN
14000 REM WRONG
14010 PRINT
14020 PRINT "SORRY!"
14030 PRINT
14040 RETURN
15000 REM SCORE KEEPING
15010 N=N+1
15020 RETL«N
17000 REM PRINT OUT PROBLEM
17010 L=12
17020 GOSUB 18000
123
1.
2.
3.
4.
';ai«
';a2S
■;A3«
';A4«
20020 60SUB
20030 PRINT
17030 PRINT Q«
17040 PRINT
17050 PRINT "
17060 PRINT "
17070 PRINT •'
17080 PRINT "
17090 L=S
17100 80SUB 18000
171 lO RETURN
18000 REM PRINT LINES
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT 1
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 L»12
18000
"IT TOOK ";N;" tries to 6ET"
20040 PRINT TLJ" PROBLEMS CORRECT!"
20050 END
21000 REM DATA
21010 DATA THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS lO.O V
OLTS. WHAT IS THE CURRENT THROUGH THE RESISTANCE?
21020 DATA .5 AMPS, 2 AMPS,50 AMPS, 13 AMPS, 2
21030 DATA V=I*R SO I=V/R I=10/5 = 2 AMPS
21040 DATA THE CURRENT THROUGH A lO.O OHM RESISTANCE IS MEAS
URED TO BE ll.O AMPS- WHAT VOLTAGE IS BEING APPLIED?
21050 DATA 21 VOLTS, 1.1 VOLTS, llO VCM_TS, .9 VOLTS, 3
21060 DATA V=I*R SO V = 11 » lO WHICH EQUALS llO VOLTS
21070 DATA HOW MUCH POWER IS USED BY A CIRCUIT WHICH DRA
WS 5.0 AMPS OF CURRENT WHEN 20.0 VOLTS ARE APPLIED?
21080 DATA 4.0 WATTS,. 25 WATTS, 25 WATTS, 100 WATTS, 4
21090 DATA P=VI SO P = 20 » 5 WHICH IS 100 WATTS.
21100 DATA WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPLY
CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 10.0 VOLTS?
21110 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 4
21120 DATA P=VI SO I=P/V I = 300/10 WHICH IS 30 AMPS.
ANY SMALLER FUSE WILL BURN OUT.
21130 DATA WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPLY
CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT lOO VOLTS?
21140 DATA 3000 AMPS, 3 AMPS, .33 AMPS,30 AMPS, 2
21150 DATA I=P/V SO I = 300/100 WHICH EQUALS 3 AMPS. AS VOL
TAGE INCREASES LESS CURRENT IS REQUIRED TO SUPPLLY = POWER.
21160 DATA WHAT AMOUNT OF POWER IS CONSUMED BY A RESISTANC
E OF lOO OHMS WHEN A CURRENT OF 3 AMPS PASSES THROUGH IT?
21170 DATA 33 WATTS, 300 WATTS, 900 WATTS, 3000 WATTS, 3
21180 DATA P=I'"2»R SO P=3 * 3 * lOO WHICH IS 900 WATTS.
21190 DATA HOW MUCH POWER IS CONSUMED BY A CABLE WHICH HAS
A RESISTANCE OF 2.0 OHMS AND A VOLTAGE DROP OF 20 VOLTS?
21200 DATA 40 WATTS, 10 WATTS, 22 WATTS, 200 WATTS, 4
21210 DATA P=V'^2/R SO P = (20 *20)/2 WHICH IS 200 WATTS
124
21220 DATA WHAT VOLTAGE GETS TO A MOTOR IF ThE RESIST. OF TH
E SUPPLY CABLE IS 2.0 OHMS AND I = 10 AMPS. SUPPLY = 120V.
21230 DATA 20 VOLTS, 80 VOLTS, 100 VOLTS, 120 VOLTS, 3
21240 DATA V=IR SO V= 10 « 2 WHICH IS 20 VOLTS (THE VOLTAGE
LOST IN THE CABLE). 120 - 20 = 100 VOLTS (TO THE MOTOR).
21250 DATA WHAT IS THE TOTAL RESISTANCE OF 3 - 30 OKOI RES IS
TORS CONNECTED IN SERIES?
21260 DATA 3 OHMS, 10 OHMS, 33 OHMS, 90 OHMS, 4
21270 DATA RT=R1+R2+R3 SO RT = 30 + 30 + 30
90 OHMS.
21280 DATA WHAT IS THE TOTAL RESISTANCE OF 3 - 30
STOPS CONNECTED IN PARALLEL?
21290 DATA 3 OHMS, lO OHMS, 33 OHMS, 90 OHMS, 2
21300 DATA 1/RT=1/R1 + 1/R2 + 1/R3 SO
+ 1/30 + 1/30 RT=10.
WHICH IS
OHM RES I
l/RT=l/30
TABLE OF VARIABLES
TL
lOlO 1020 1080 4070 10020 20040
Q«
1020 10060 17030
Al«
1020 10060 17050
A2«
1020 lOO&O 17060
A3«
1020 10060 17070
A4«
1020 10060 17080
KE(
1020 1090 4020 11050
EX«
1020 6030 10060
NA«
1030 2100 2130
S«
1030 2240 4280 4290 6070
1080 1090 llOO 2010 2030 18010
18030 19010 19020
125
o
1090
D
2040 4160 4200 4240 19010
L
2060 2200 6010 6040 17010 17090
18010 20010
NX
4020 lOOlO lOOlO 10020 10030 11050
C
4030 4060 4060 4070
SA
4100 4110 4110 IIOIO
HT
4140 11020 11040
KE
10060 llOlO
N
15010 15010 20030
PROGRAM LISTING: MICROSOFT BASIC
100 REM TEST TUTOR BY GARY 0RWI6
lOOO REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF
PROBLEMS IN YOUR DATA SET.
lOlO TL = 10
1020 DIM Q*<TL),A1«<TL),A2*(TL>,A3»(TL),A4*(TL),KE<TL),EX«<T
L)
1030 FOR I = 1 TO TL
1040 READ Q«(I),A1«(I),A2«(I),A3S<I),A4«(I>,KE(I>,EX«(I>
lOSO NEXT I
1060 REM USE FULL SCREEN
1070 POKE 82,0
1080 CLS
2000 REM INTRODUCTION
2010 FOR I = 1 TO 15
2020 FOR J = 1 TO 50
2030 NEXT J
2040 PRINT " TEST TUTOR ";
2050 IVEXT I
2060 D = 2500
2070 60SUB 19000
2080 L = 12
2090 GOSUB 18000
2100 PRINT "WHAT IS YOUR NAME?"
2110 GOSUB 18000
126
2120 INPUT NA*
2130 PRINT
2140 PRINT
2150 PRINT "I'M HAPPY TO MEET YOU, ";NA»;"."
2160 PRINT
2170 PRINT
2180 PRINT "THIS IS A PROGRAM MHICH WILL HELP"
2190 PRINT "YOU STUDY FOR YOUR TEST! "
"I WILL ASK YOU QUESTIONS, AND YOU PICK'
"THE NUMBER OF THE CC«RECT ANSU^R. "
18000
"READY? PUSH THE
"KEY TO BEGIN."
RETl^N'
2200 PRINT
2210 PRINT
2220 L = 8
2230 GOSUB
2240 PRINT
2250 PRINT
2260 II«>UT S«
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 IF KE(NX) = 5 THEN 4060
4030 C = O
4040 GOSUB 17000
4050 GOTO 4090
406O C »= C + 1
4070 IF C = TL + 1 THEN 20000
4080 GOTO 4010
4090 PRINT "TYPE IN A 1, 2, 3, OR 4";
4100 INPUT SA
41 lO IF SA < 1
4120 GOSUB
4130 GOSUB
4140
OR SA
15000
11000
THEN 4230
> 4 THEN 4090
IF HT = 1
4150 GOSUB 14000
4160 D = 1000
4170 GOSUB 19000
4180 GOSUB 6000
4190 PRINT "WE WILL TRY THAT ONE AGAIN LATER!
4200 D = 1000
4210 GOSUB 19000
4220 GOTO 4010
4230 GOSUB 12000
4240 D = lOOO
4250 GOSUB 19000
4260 PRINT "WOULD YOU LIKE AN EXPLANATION?"
4270 PRINT "(TYPE IN 'YES' OR 'NO')"
4280 INPUT S*
4290 IF S* = "YES" THEN
4300 GOTO 40 lO
6000 REM EXPLANATION
6010 L = 24
6020 GOSUB 18000
6030 PRINT EX«(NX)
6040 L = 12
6050 GOSUB 18000
6060 PRINT "PRESS
6070 INPUT S*
6080 RETl^N
lOOOO REM SEQUENCE QUESTIONS
GOSUB 6000
RETURN'
127
lOOlO
NX = NX + 1
10020
IF NX < TL + 1
THEN 1005<
10030
NX =
10040
GOTO lOOlO
10050
RETURN
llOOO
REM JUDGE ANSWER
IIOIO
IF SA = KE(NX)
THEN 11041
11020
HT = O
11030
RETURN
11040
HT = 1
11050
KE(NX) = 5
11060
RETURN
12000
REM REWARD
12010
PRINT
12020
PRINT "GREAT!"
12030
PRINT
12040
RETURN
14000
REM WRONG
14010
PRINT
14020
PRINT "SORRY!"
14030
PRINT
14040
RETURN
15000
REM SCORE KEEPING
15010
N = N + 1
15020
RETURN
17000
REM PRINT OUT
PROBLEM
17010
L = 12
17020
GOSUB 18000
17030
PRINT Q«(NX}
17040
PRINT
17050
PRINT " 1.
";A1«(NX>
17060
PRINT " 2.
";A2*(NX)
17070
PRINT " 3.
";A3»<NX)
17080
PRINT " 4.
";A4«(NX)
128
17090 L = 8
17100 GOSUB 18000
171 lO RETURN
18000 REM PRINT LINES
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 L = 12
20020 GOSUB 18000
20030 PRINT "IT TOOK ";N;" TRIES TO GET"
20040 PRINT tl;" PROBLEMS CORRECT!"
20050 END
21000 REM DATA
21010 DATA "THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS MEASU
RED TO BE lO.O VOLTS. WHAT IS THE CURRENT THROUGH THE RES I
STANCE?"
21020 DATA .5 AMPS, 2 AMPS, 50 AMPS, 15 AMPS, 2
21030 DATA "V=I»R, SO I=V/R; 1=10/5 = 2 AMPS"
21040 DATA "THE CURRENT THROUGH A 10.0 OHM RESISTANCE IS ME A
SURED TO BE 11.0 AMPS. WHAT VOLTAGE IS BEING APPLIED?"
21050 DATA 21 VOLTS, 1.1 VOLTS, 110 VOLTS,. 9 VOLTS, 3
21060 DATA "V=I*R, SO V = 11 » 10, WHICH EQUALS llO VOLT
S"
21070 DATA "HOW MUCH POWER IS USED BY A CIRCUIT WHICH DR
AWS 5.0 AMPS OF CURRENT WHEN 20.0 VOLTS ARE APPLIED?"
21080 DATA 4.0 WATTS, .25 WATTS, 25 WATTS, 100 WATTS, 4
21090 DATA "P=VI, SO P = 20 * 5, WHICH IS 100 WATTS."
21100 DATA "WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPL
Y CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 10.0 VOLTS
?"
21110 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 4
21120 DATA "P=VI, SO I=P/V; I = 300/10, WHICH IS 30 AMPS.
ANY SMALLER FUSE WILL BURN OUT. "
21130 DATA "WHAT IS THE MINIMUM SIZE FUSE REQUIRED TO SUPPL
Y CURRENT TO A CIRCUIT WHICH USES 300 WATTS AT 100 VOLTS?
21140 DATA 3000 AMPS, 3 AMPS, .33 AMPS, 30 AMPS, 2
21150 DATA "I=P/V, SO 1=300/100 WHICH = 3 AMPS. AS VOLTAGE I
NCREASES, LESS CURRENT IS REQUIRED FOR SAME LEVEL OF POWER."
21160 DATA "WHAT AMOUNT OF POWER IS CONSUMED BY A RESISTMM
CE OF lOO OHMS WHEN A CURRENT OF 3 AMPS IS PASSING THROUGH
IT?"
21170 DATA 33 WATTS, 300 WATTS, 900 WATTS, 3000 WATTS, 3
21180 DATA "P=I'^2»R, SO P=3 » 3 * 100, WHICH IS 900 WATTS."
21190 DATA "HOW MUCH POWER IS USED BY A CABLE WHICH HAS A RE
SI STANCE OF 2.0 OWIS WHIT A VOLTAGE DROP OF 20.0 VOLTS?"
21200 DATA 40 WATTS, lO WATTS, 22 WATTS, 200 WATTS, 4
21210 DATA "P=V'"2/R, SO P = <20 «20) /2, WHICH IS 200 WATT
S."
21220 DATA "POWER SUPPLY = 120 VOLTS. WHAT VOLTAGE IS SUPPL I
ED TO MOTOR IF CURRENT IS lO AMPS AND CABLE RESIS. IS 2 OHMS
lOO VOLTS, 120 VOLTS, 3
IN CABLE. 120-20 LE
21230 DATA 20 VOLTS, SO VOLTS,
21240 DATA "V=IR SO V=10»2=20 VOLTS LOST
AVES lOO VOLTS FOR MOTOR."
21250 DATA "WHAT IS THE TOTAL RESISTANCE OF 3,
STORS CONNECTED IN SERIES?"
21260 DATA 3 OHMS, lO OHMS, 33 0HMS,90 OHMS, 4
21270 DATA "RT=R1+R2+R3, SO RT = 30 + 30 + 30,
90 OHMS. "
21280 DATA "WHAT IS THE TOTAL RESISTANCE OF 3,
STORS CONNECTED IN PARALLEL?"
21290 DATA 3 OHMS, lO OHMS, 33 OHMS, 90 OHMS, 2
21300 DATA "1/RT=1/R1 + 1/R2 + 1/R3, SO
O + 1/30 + 1/30; RT=10. "
30
30
OHM RES I
WHICH IS
OHM RES I
l/RT=l/3
TABLE OF VARIABLES
Al«(*} - ANSWER 1
1020 1040 17050
A2«(*} - ^VMSWER 2
1020 1040 17060
129
A3*(») - ANSWER 3
1020 1040 17070
A4«(«) - ANSWER 4
1020 1040 17080
C - NUMBER OF QUESTIONS ANSWERED
4030 4060 4060 4070
D - DELAY
2060 4160 4200 4240 19010
EX«(*) - EXPLANATIONS
1020 1040 6030
HT - HIT
4140 11020 11040
I - COUNTER
1030 1040 1040 1040 1040 1040
1040 1040 1050 2010 2050 18010
18030 19010 19020
J - COUNTER
2020 2030
KE(») - KEYS
1020 1040 4020 IIOIO 11050
L - LINES OF SCROLLING
2080 2220 6010 6040 17010 17090
18010 20010
N - NUMBER OF TRIES
15010 15010 20030
NA« - NAME
2120 2150
NX - NUMBER IN SEQUENCE
4020 6030 10010 10010 10020
10030 llOlO 11050 17030 17050
17060 17070 17080
Q*(») - QUESTIONS
1020 1040 17030
S« - STUDENT ANSWER
2260 4280 4290 6070
SA - STUDENT ANSWER
4100 4110 4110 llOlO
TL - QUESTIONS IN LIST
lOlO 1020 1020 1020 1020 1020
1020 1020 1030 4070 10020 20040
130 END CM=^ VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
?SANDY
I'M HAPPY TO MEET YOU, SANDY.
THIS IS A PROGRAM WHICH WILL HELP
YOU STUDY FOR YOUR TEST!
I WILL ASK YOU QUESTIONS, AND YOU PICK
THE NUMBER OF THE CORRECT ANSWER.
READY? PUSH THE 'RETURN'
KEY TO BEGIN.
THE VOLTAGE ACROSS A 5.0 OHM RESISTANCE IS MEASURED TO BE lO
.O VOLTS. WHAT IS THE CURRENT THROUGH THE RESISTANCE?
1. .5 AMPS
2. 2 AMPS
3. 50 AMPS
4. 15 AMPS
TYPE IN A 1, 2, 3, OR 4?2
GREAT !
WOULD YOU LIKE AN EXPLANATION?
(TYPE IN 'YES' OR 'NO')
?N0
THE CURRENT THROUGH A 10.0 OHM RESISTANCE IS MEASUR
ED TO BE 11.0 AMPS. WHAT VOLTAGE IS BEING APPLIED TO THE
RESISTANCE?
1. 21 VOLTS
2. 1.1 VOLTS
3. IIO VOLTS
4. .9 VOLTS
TYPE IN A 1, 2, 3, OR 4?1
SORRY !
V=I»R, SO V = 11 * 10, WHICH EQUALS 110 VOLTS 131
PRESS 'RETURN' TO CONTINUE.
WE WILL TRY THAT ONE AGAIN LATER!
HOW MUCH POWER IS USED BY A CIRCUIT WHICH DRAWS 5.0 AMP
S OF CURRENT WHEN 20.0 VOLTS ARE APPLIED?
1. 4.0 WATTS
2. .25 WATTS
3. 25 WATTS
4. 100 WATTS
TYPE IN A 1, 2, 3, OR 4?4
GREAT !
WOULD YOU LIKE AN EXPLANATION?
(TYPE IN 'YES' OR 'NO')
?YES
P=VI, SO P = 20 ♦ 5, WHICH IS lOO WATTS.
PRESS 'RETURN' TO CONTINUE.
132
Time, Distance,
and Velocity
PROGRAM DESCRIPTION
This program studies the mathematical relationships between
time, distance, and velocity. It allows the user to enter values for
any two variables, and it will then calculate the value of the third
variable.
PROGRAM NOTES
This program is only a shell to work around. Depending on
your particular application, you may want to use only the
conversion routines, or you may want to add more instruction and
de-emphasize these routines.
If you are really into program-writing, try to allow for the
input of mixed units such as 3 hours, 15 minutes, and 25
seconds!
PROGRAM LISTING: BASIC
lOO REM Tir« DISTANCE AND VELOCITY BY GARY ORMIG
500 REM PRINT MESSAGE
510 PRINT
520 PRINT "ONE MCH1ENT PLEASE!"
lOOO REM INITIALIZATION
lOlO DIM A«(6«15),A<5,5>,B«(7»15),B(6,6)
1020 DIM AI«(1S),BI«(15)
1030 DIM NA«(30>,S«(5>
1040 FOR 1=1 TO 5
1050 FOR J=l TO 5
1060 READ A
133
1070 A(I,J)=A
1080 NEXT J
1090 NEXT I
llOO LN=1
lllO FOR 1=1 TO 5*13
1120 A»(I,I>=" "
1130 NEXT I
1140 FOR 1=1 TO 6
1150 READ AI»
1160 A«(LN)=AI«
1170 LN=LN+15
1180 NEXT I
1190 FOR 1=1 TO 6
1200 FOR J=l TO 6
1210 READ B
1220 B(I,J}=B
1230 NEXT J
1240 NEXT I
1250 LN=1
1260 FOR 1=1 TO 6*15
1270 B*(I,I)=" "
1280 NEXT I
1290 FOR 1=1 TO 7
1300 READ BI«
1310 BS(LN)=BI«
1320 LN=LN+15
1330 NEXT I
1340 REN USE FULL SCREEN
1350 POKE 82, O
1360 PRINT
2000 REM INTRODUCTION
2010 FOR 1=1 TO 25
2020 FOR J=l TO I
2030 PRINT " ";
2040 NEXT J
2050 PRINT "TIME"
2060 NEXT I
2070 FOR 1=1 TO 25
2080 FOR J=l TO I
2090 PRINT " ";
2100 NEXT J
21 lO PRINT "DISTANCE"
2120 NEXT I
2130 FOR 1=1 TO 25
2140 FOR J=l TO I
2150 PRINT " ";
2160 NEXT J
2170 PRINT "VELOCITY"
2180 NEXT I
2190 D=200
2200
60SUB
19000
7710
L=24
2220
GOSUB
18000
2230
PRINT
"HI ! I
2240
PRINT
2250
PRINT
"WHAT
2260
L=12
M HAPPY TO SEE YOU.
IS YOUR NAME?*
2260 L=12
134
2270
60SUB
18000
2280
INPUT
NA«
2290
PRINT
"IT'S NICE TO MEET YOU, "JNA*;"."
2300
PRINT
2310
PRINT
2320
PRINT
"IN THIS PROGRAM WE ARE GOING TO"
2330
PRINT
"STUDY TIME, DISTANCE, AND"
2340
PRINT
"VELOCITY. "
2350
PRINT
2360
PRINT
2370
PRINT
"FIRST, LET'S WORK WITH TIME."
2380
PRINT
"TIME CAN BE MEASURED IN A VARIETY"
2390
PRINT
"OF UNITS, INCLUDING SECONDS,"
2400
PRINT
"MINUTES, HOURS, AND SO FORTH."
2410
PRINT
2420
PRINT
"WE WILL PRACTICE CONVERTING"
2430
PRINT
"VALUES FROM ONE TO ANOTHER FOR"
2440
PRINT
"A BIT JUST TO GET USED TO THEM."
2450
PRINT
2460
PRINT
2470
PRINT
"PRESS THE 'RETURN' KEY TO CONTINUE."
2480
INPUT
S«
2490
L=24
2500
60SUB
18000
4000
REM MAIN PROGRAM
4010
PRINT
4020
PRINT
"TYPE IN ONE VALUE AND I WII 1 CONVERT
4030
PRINT
"IT FOR YOU!"
4040
PRINT
4050
PRINT
"TYPE IN A '0' TO GO ON."
4060
PRINT
4070
PRINT
4080
PRINT
"CHANGE FROM (PICK A NUMBER)"
4090
PRINT
4100
60SUB
9010
4110
INPUT
TU
4120
IF TU=
=0 THEN 5000
4130
PRINT
4140
PRINT
"CHANGE FROM " ; A» (TU*15-14,TU*15)
4150
PRINT
"TO"
4160
PRINT
" <PICK A NUMBER) "
4170
PRINT
4180
60SUB
9010
4190
INPUT
T2
4200
PRINT
4210
PRINT
"CHANGE FROM "; A* (TU*15-14,TU*15)
4220
PRINT
"TO"
4230
PRINT
A* (T2*15-14, T2*15)
4240
PRINT
4250
PRINT
"HOW MANY ";A»(TU*15-14,TU»15)
4260
INPUT
TM
4270
TX=TM»A(TU,T2)
4280
PRINT
4290
PRINT
TM; " " ; A* <TU«15-14, TU*15)
4300
PRINT
"EQUALS ";TX;" ";A«(T2«15-14,T2*15)
4310
GOTO 4040
5000
REM DISTANCE
135
136
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
51 lO
5120
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
53&0
5370
5380
5390
5400
5410
5420
5430
5440
5450
5460
5470
5480
5490
5500
5510
5520
5530
6000
6010
6020
6030
L=24
GOSUB 18000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S«
L=24
GOSUB
PRINT
PRINT "TYPE
"DISTANCE IS ALSO MEASURED IN"
"A VARIETY OF UNITS. "
"AMONG THEM ARE METRIC UNITS"
"SUCH AS CENTIMETERS, METERS, AND*
"KILOMETERS. IN ADDITION, THERE"
"ARE ENGLISH UNITS SUCH AS FEET"
"AND MILES."
"LET'S PRACTICE CONVERTING SOME"
"DISTANCES BETWEEN THE VARIOUS UNITS."
"ALTHOUGH IT ISN'T TOO GOOD OF AN"
"IDEA TO CONVERT BETWEEN ENGLISH AND"
"METRIC UNITS, I WILL INCLUDE THEM BOTH"
"FOR YOU TO WORK WITH. "
"PUSH 'RETURN' TO CONTINUE."
18000
'CHANGE FROM <PICK A NUMBER)"
IN A
PRINT
PRINT
PRINT
PRINT
GOSUB 9100
PRINT
IW>UT DU
IF DU=0 THEN 6000
PRINT
PRINT "CHANGE FROM
PRINT "TO"
PRINT "(PICK A NUMBER)"
PRINT
GOSUB 9100
PRINT
INPUT D2
PRINT
PRINT
PRINT
TO GO ON.
;B«(DU*15-14,DU»15)
';B«<DU*15-14,DU*1S>
CHANGE FROM
TO"
PRINT B1»(D2*15-14,D2*15)
PRINT
PRINT "HOW MANY ";B«(DU*15-14,DU*15)
INPUT DI
DX-DI*B(DU,D2)
PRINT
PRINT DI;"."SB»<DU»15-14,DU*15)
PRINT " EQUALS ";DX;" ";B« (D2*15-14,D2*1S)
GOTO 5240
REM VELOCITY
L=24
GOSUB 18000
PRINT "NOW LETS WORK WITH VELOCITY."
6040
6050
6060
6070
6080
6090
6100
6110
6120
6130
6140
6 ISO
6160
6170
6180
6190
6200
6210
6220
6230
6240
6250
6260
6270
6280
6290
6300
7000
7010
7020
7030
7040
7050
7060
7070
7080
7090
7100
7110
7120
7130
7140
7150
7160
7170
7180
7190
7200
7210
7220
7230
7240
7250
7260
7270
7280
7290
"VELOCITY IS THE DISTANCE COVERED"
"IN A GIVEN UNIT OF TIME."
"<LIKE 60 MILES PER HOUR)"
PRINT
PRINT
PRINT
PRINT
L=10
60SUB 18000
PRINT "PUSH 'RETURN' TO CONTINUE.
INPUT S*
REM SELECTION
PRINT
PRINT
L=24
GOSUB 18000
PRINT
PRINT "PICK
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
A
1.
2.
3.
NUMBER. "
GIVEN TIME AND DISTANCE,"
FIND VELOCITY."
GIVEN TIME AND VELOCITY,"
FIND DISTANCE."
GIVEN VELOCITY AND DISTANCE,"
FIND TIME."
"TYPE IN A 'O' TO GO ON."
INPUT SA
IF SA=0 ThEN 20000
ON SA GOTO 7000,7440,8000
L=24
18000
"FINDING VELOCITY GIVEN"
"TIME AND DISTANCE"
"MHICH UNIT FOR TIME (PICK A «)
GOSUB
PRINT
PRINT
PRINT
PRINT
GOSUB 9010
INPUT TU
PRINT "ENTER VALUE OF "; A*(TU*1S-14,TU»15)
INPUT TM
PRINT "WHICH UNIT FOR DISTANCE (PICK A #) "
GOSUB 9120
INPUT DU
PRINT "ENTER VALUE OF "; B*(DU*13-14,DU*15)
INPUT DI
VE=DI/TM
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
"THE ANSWER IS ";VE?" ";B«(DU»1S-14,DU*15)
"PER ";A*(TU*1S-14,TU*15)
"WOULD YOU LIKE THE ANSWER TO BE"
"CONVERTED TO OTHER UNITS?"
" (YES OR NO) "
INPUT S«
IF S«="YES" THEN 7270
GOTO 6120
PRINT
PRINT "WHAT UNITS OF TIME?"
GOSUB 9010
137
138
7300
7310
7320
7330
7340
7350
7360
7370
7380
7390
7400
7410
7420
7430
7440
7450
7460
7470
7480
7490
7500
7510
7520
7530
7540
7550
75&0
7570
7580
7590
7600
7&10
7620
7630
7640
7650
7660
7670
7680
7690
7700
7710
7720
7730
7740
7750
7760
7770
7780
7790
7800
7810
7820
7830
8000
8010
8020
INPUT T2
PRINT "WHICH LMITS OF DISTANCE"
GOSUB 9120
INPUT D2
VX= (DI«B (DU, D2) ) / (TM*A (TU, T2) )
PRINT VE;" ";B«(DU*15-14,DU*15)
PRINT "PER ";A«<TU*15-14,TU«15)
PRINT "EQUALS:"
PRINT VX;" ";B»<D2»15-14,D2*15)
PRINT "PER ";A*(T2»15-14,T2*15)
PRINT
PRINT "PUSH RETURN TO CONTINUE
INPUT S*
GOTO 6120
REM FIND DISTANCE
L=24
18000
"FINDING DISTANCE GIVEN"
"TIME AND VELOCITY"
GOSUB
PRINT
PRINT
PRINT
PRINT
GOSUB 9010
INPUT TU
PRINT
"WHICH UNIT FOR TIME (PICK A «)
■;A«<TU*15-14,TU»15)
#)"
IN UNITS OF'
'THE ANSWER IS ";DI;
' ; B* (DU*15-14, DU»15)
ENTER VALUE OF
INPUT TM
PRINT "WHICH UNIT FOR DISTANCE (PICK A
GOSUB 9120
Ilvff>UT DU
PRINT "ENTER VALUE OF VELOCITY
PRINT B«(DU*15-14,DU*15)
PRINT "PER ";A«(TU*15-14,TU*15)
INPUT VE
DI=VE*TM
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S*
IF S«="YES'
GOTO 6120
PRINT
PRINT "WHAT UNITS OF DISTANCE?"
GOSUB 9120
INPUT D2
DX-(DI*B(DU,D2))
PRINT DI;" ";B*(DU*15-14,DU»13)
PRINT "EQUALS ";DX;" ";B* (D2*15-14,D2»1S)
PRINT
PRINT "PUSH 'RETURN' TO CONTINUE."
INPUT S«
GOTO 6120
REM FIND DISTANCE
L=24
GOSUB 18000
'WOULD YOU LIKE THE ANSWER TO BE"
•CONVERTED TO OTHER UNITS?"
•(YES OR NO)"
THEN 7730
8030
8040
8050
8060
8070
8080
8090
8100
81 lO
81 20
8130
8140
8150
8160
8170
8180
8190
8200
8210
8220
8230
8240
82SO
82£>0
8270
8280
8290
8300
8310
8320
8330
8340
8350
8360
8370
8380
8390
8400
9000
9010
9020
9030
9040
9050
9060
9070
9080
9090
9100
9110
9120
9130
9140
9150
9160
9170
9180
••FINDIN6 TIME SIVEN"
••DISTANCE AND VELOCITY"
"WHICH UNIT FOR DISTANCE"
"(PICK A NUMBER)"
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB 9120
INPUT DU
PRINT "ENTER VALUE OF "5B*<DU*15-14, DU»15>
INPUT DI
PRINT "WHICH UNIT FOR TIME (PICK A #) "
GOSUB 9010
INPUT TU
PRINT "ENTER VALUE OF VELOCITY IN UNITS OF"
PRINT B«(DU«15-14,DU«1S)
PRINT "PER ";A«(TU«15-14,TU*15)
INPUT VE
TM=DI/VE
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
THE ANSWER IS
";tm;
' ; A» (TU*15-14, TU*15)
"WOULD YOU LIKE THE ANSWER TO BE"
"CONVERTED TO OTHER UNITS?"
"(YES OR NO)"
INPUT S*
IF S*="YES" THEN 8300
GOTO 6120
PRINT
PRINT "WHAT UNITS OF TIME?"
GOSUB 9010
INPUT T2
TX=(TM»A(TU,T2))
PRINT TM;" ";A»(TU*15-14,TU*15)
PRINT "EQUALS ";TX;" "; A* (T2»15-14,T2*15)
PRINT
PRINT "PUSH 'RETURN' TO CONTINUE."
INPUT S«
fM}TO 6120
REM PRINT SUBROUTINES
REM TIME
PRINT
FOR 1=1 TO 5
BW=I*15-14
EW=I»15
PRINT " ";l;". "|A*(BW,EW)
NEXT I
PRINT
RETURN
REM DISTANCE
PRINT
FOR 1=1 TO 6
Wi*=I»15-14
EW=I*15
PRINT " ";ii". ";b*(bw,ew)
NEXT I
PRINT
RETLRN
139
18000
"WE'RE FINISHED, ";NA«;"!"
"I HOPE YOU HAD A NICE TIME!
18000
18000 REM SCROLL
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR K=l TO I
19020 NEXT K
19030 RETURN
20000 REM CLOSING
20010 L=24
20020 60SUB
20030 PRINT
20040 PRINT
20050 L=12
20060 eOSUB
20070 END
21000 REM START OF DATA
21010 DATA l,.01&67,2.778E-4,1.157E-S,3.169E-8
21020 DATA 60, 1, .01667,6.944E-4, 1 . 901E-6
21030 DATA 3600,60, 1, .04167, 1 . 141E-4
21040 DATA 86400, 1440,24, 1 , 2. 738E-3
21050 DATA 31557600,525960,8766,365.25,1
2 1 060 DATA SECONDS , M I NUTES , HOURS , DAYS , YEARS , EOF
21070 DATA 1, . 1, .OOl, l.OE-6, 3. 28084E-3,6.2137E-7
21080 DATA 10, 1 , .01 , 1 .OE-5,3. 28084E-2,6.2137E-6
21090 DATA 1000, 100, 1 , .001 , 3. 28084,6. 2137E-4
21 100 DATA 1000000, 100000, 1000, 1 , 3280. 84, . 62137
21110 DATA 304.8,30.48,.3048,3.048E-4,l,1.894E-4
21 120 DATA 1609300, 160930, 1609. 3, 1 . 6093, 5280, 1
21130 DATA MILLIMETERS, CENTIMETERS, METERS, KILOMETERS, FEET, MI
LES,EOF
TABLE OF VARIABLES
A«
lOlO
1120
1160
4140
4210
4230
4250
4290
4300
7080
7190
7360
7390
7530
7600
8170
8220
8350
8360
9060
A(
1010 1 070 4270 7340 8340
B«
lOlO
1270
1310
5350
5430
5450
5470
5510
5520
7130
7180
7350
7380
7590
7650
7780
7790
8100
8160
9150
B(
10 lO 1220 5490 7340 7770
140
AI«
1020 1150 1160
BI«
1020
1300
1310
NA«
1030
2280
2290
20030
S«
1030
2480
5210
6110
7240
7250
7420
7700
7710
7820
8270
8280
8390
I
1040
1070
1090
lllO
1120
1120
1130
1140
1180
1190
1220
1240
1260
1270
1270
1280
1290
1330
2010
2020
2060
2070
2080
2120
2130
2140
2180
9030
9040
9050
9060
9070
9120
9130
9140
9150
9160
18010
18030
J
1050
1070
1080
1200
1220
1230
2020
2040
2080
2100
2140
2160
1060 1070
LN
B
llOO 1160 1170 1170 1250 1310
1320 1320
1210 1220
2190 19010
22 lO 2260 2490 5010 5220 6010
6080 6150 7000 7450 SO 10 18010
20010 20050
TU
T2
4110
4120
4140
4140
4210
4210
4250
4250
4270
4290
4290
7070
7080
7080
7190
7190
7340
7360
7360
7520
7530
7530
7600
7600
8140
8170
8170
8220
8220
8340
83bO
8350
4190
4230
4230
4270
4300
4300
7300
7340
7390
7390
8330
8340
8360
8360
141
4260
4270
4290
7090
7150
7340
7540
7620
8190
8220
8340
8350
TX
4270
4300
8340
8360
DU
5320
5330
5350
5350
5430
5430
5470
5470
5490
5510
55 lO
7120
7130
7130
7180
7180
7340
7350
7350
7570
7590
7590
7650
7650
7770
7780
7780
8090
8100
8100
8160
8160
D2
5410
5450
5450
5490
5520
5520
7330
7340
7380
7380
7760
7770
7790
7790
DI
5480
5490
5510
7140
7150
7340
7620
7650
7770
7780
8110
8190
142
DX
5490 5520 7770 7790
SA
6280 6290 6300
VE
7150 7180 7350 7610 7620 8180
8190
VX
7340 7380
BW
9040 9060 9130 9150
EW
9050 9060 9140 9150
K
19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM TIME DISTANCE AND VELOCITY BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO DIM A«(5),A(5,5),B«<6),B<6,6)
1020 FOR I = 1 TO 5
1030 FOR J = 1 TO 5
1040 READ A (I, J)
1050 NEXT J
1060 NEXT I
1070 FOR I = 1 TO 5
1080 READ A«(I)
1090 NEXT I
llOO FOR I = 1 TO 6
1110 FOR J = 1 TO 6
1120 READ B(I,J)
1130 NEXT J
1140 NEXT I
1150 FOR I = 1 TO 6
1160 READ B«(I)
1170 NEXT I
1180 REM USE FULL SCREEN
1190 POKE 82,0
1200 CLS
2000 REM INTRODUCTION
2010 D = 20
2020 FOR I = 1 TO 25
2030 FOR J = 1 TO I
2040 PRINT " ";
2050 NEXT J
2060 PRINT "TIME"
2070 60SUB 19000
2080 NEXT I
2090 FOR I = 1 TO 25
2100 FOR J = 1 TO I
21 lO PRINT " ";
2120 NEXT J
2130 PRINT "DISTANCE"
2140 60SUB 19000
2150 NEXT I
2160 FOR I = 1 TO 25
2170 FOR J = 1 TO I
2180 PRINT " ";
2190 NEXT J
2200 PRINT "VELOCITY"
2210 GOSUB 19000
2220 NEXT I
2230 D = lOOO
2240 GOSUB 19000
2250 L = 24
2260 GOSUB 18000
2270 PRINT "HI! I'M HAPPY TO SEE YOU."
2280 PRINT
2290 PRINT "WHAT IS YOUR NAME?"
2300 L = 12
23 lO GOSUB 18000
2320 INPUT NA*
2330 PRINT "IT'S NICE TO MEET YOU, ";NA«;"."
2340 PRINT
2350 PRINT
2360 PRINT "IN THIS PROGRAM WE ARE GOING TO'
2370 PRINT "STUDY TIME, DISTANCE, AND"
2380 PRINT "VELOCITY.
2390 PRINT
2400 PRINT
143
144
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
2540
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
"FIRST, LET'S WORK WITH TIME."
"TIME CAN BE I^ASURED IN A VARIETY"
"OF UNITS, INCLUDING SECONDS,"
"MINUTES, HOURS, AND SO FORTH."
"WE WILL PRACTICE CONVERTING"
"VALUES FROM ONE TO ANOTHER FOR"
"A BIT JUST TO GET USED TO ThEM. "
"PRESS THE 'RETURN' KEY.
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S*
L = 24
GOSUB 18000
REM MAIN PROGRAM
PRINT
"TYPE IN ONE VALUE AND
"IT FOR YOU!"
I WILL CONVERT"
•TYPE IN A
TO GO ON.
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT "CHANGE FROM (PICK A NUMBER)
PRINT
GOSUB 9010
INPUT TU
IF TU = O THEN 5000
PRINT
PRINT "CHANGE FROM ";A«<TU);" TO"
PRINT "(PICK A NUMBER)"
PRINT
GOSUB 9010
INPUT T2
PRINT
PRINT "CHANGE FROM ";A*(TU);" TO"
PRINT A«(T2);"."
PRINT
PRINT "HOW MANY ";A»(TU);"?"
INPUT TM
TX = TM * A(TU,T2)
PRINT
PRINT TM;" ";A«(TU)5" EQUALS ";TX;
GOTO 4040
REM DISTANCE
L = 24
GOSUB 18000
"DISTANCE IS ALSO MEASURED IN"
"A VARIETY OF UNITS."
"AMONG THEM ARE METRIC UNITS"
"SUCH AS CENTIMETERS, METERS, AND
"KILOMETERS. IN ADDITION, THERE"
"ARE ENGLISH UNITS SUCH AS FEET"
"AND MILES.
"JA*(T2);
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
"LET'S PRACTICE CONVERTING SOME"
"DISTANCES BETWEEN THE VARIOUS UNITS."
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
5360
5370
5380
5390
5400
5410
5420
5430
5440
5450
5460
5470
5480
5490
5500
6000
6010
6020
6030
6040
6050
6060
6070
6080
6090
6100
6110
6120
61 30
6140
6150
6160
6170
6180
6190
PRINT
PRINT "ALTHOUGH IT ISN'T TOO GOOD OF AN"
"IDEA TO CONVERT BETWEEN ENGLISH AND"
"METRIC UNITS, I WILL INCLUDE THEM BOTH"
"FOR YOU TO WORK WITH."
PUSH THE 'RETURN' KEY."
'TYPE IN A
TO GO ON."
"CHANGE FROM <PICK A NUMBER)
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S«
L = 24
GOSUB 18000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB 9080
PRINT
INPUT DU
IF DU = O THEN 6000
PRINT
PRINT "CHMMGE FROM ";B»<DU);" TO"
PRINT ■• (PICK A NUMBER) "
PRINT
GOSUB 9080
PRINT
INPUT D2
PRINT
PRINT "CHANGE FROM ";B«(DU);" TO"
PRINT B«(D2);"."
PRINT
PRINT "HOW MANY ";B*(DU);"?"
INPUT DI
DX = DI » B(DU,D2)
PRINT
PRINT Dl;" ";B»<DU);" equals "jDX;
GOTO 5240
REM VELOCITY
L = 24
GOSUB 18000
PRINT "NOW LETS WORK WITH VELOCITY
PRINT
PRINT
PRINT
PRINT
L = 10
GOSUB 18000
PRINT "PUSH THE
INPUT S*
REM SELECTION
PRINT
PRINT
L = 24
GOSUB 18000
PRINT
PRINT "PICK A NUMBER."
PRINT " 1. GIVEN TIME AND DISTANCE,"
;B«(D2);
"VELOCITY IS THE DISTANCE COVERED'
"IN A GIVEN UNIT OF TIME."
" (LIKE 60 MILES PER HOUR) "
'RETURN' KEY."
145
146
6200
6210
6220
6230
6240
6250
6260
(y270
6280
6290
6300
7000
7010
7020
7030
7040
7050
7060
7070
7oao
7090
7100
7110
7120
7130
7140
7150
7160
7170
7180
7190
7200
7210
7220
7230
7240
7250
7260
7270
72B0
7290
7300
73 lO
7320
7330
7340
7350
7360
7370
7380
7390
7400
74 lO
7420
7430
7440
7450
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
FIND VELOCITY."
GIVEN TIME AND VELOCITY,"
FIND DISTANCE."
3. GIVEN VELOCITY AND DISTANCE,"
FIND TIME."
"TYPE IN A 'O' TO GO ON."
INPUT SA
IF SA = O THEN 20000
ON SA GOTO 7000,7410,8000
L = 24
GOSUB 18000
"FINDING VELOCITY GIVEN"
"TIME AND DISTANCE"
PRINT
PRINT
PRINT
PRINT
GOSUB 9010
INPUT TU
PRINT
WHICH UNIT FOR TIME (PICK A #)
;a«(TU};
"ENTER VALUE OF
DI
/ TM
"J^E. ANSWER IS
"PER ";A*(TU);'
";b«(DU};
"ENTER VALUE OF
INPUT TM
PRINT "WHICH UNIT FOR DISTANCE<PICK A #)
GOSUB 9100
INPUT DU
PRINT
IW>UT
VE = DI
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
;ve;
';b«(DU}
WOULD YOU LIKE THE ANSWER TO BE'
CONVERTED TO OTHER UNITS?"
(YES OR NO) "
THEN 7270
INPUT S*
IF S» = "YES'
GOTO 6120
PRINT
PRINT "WHAT UNITS OF TIME?"
GOSUB 9010
INPUT T2
PRINT "WHICH UNITS OF DISTANCE"
GOSUB 9100
INPUT D2
VX = (DI ♦ B(DU,D2)) / (TM * A(TU,T2))
PRINT VE; " " ; B* (DU) ; " PER " ; A* (TU) ; " EQUALS:
PRINT VXi" ";B»(D2);" PER ";A»(T2);"."
PRINT
PRINT "PUSH THE 'RETURN' KEY."
INPUT S*
GOTO 6120
REM FIND DISTANCE
L = 24
GOSUB 18000
PRINT "FINDING DISTANCE GIVEN"
PRINT "TIME AND VELOCITY"
7460 PRINT
7470 PRINT "WHICH UNIT FOR Tir« (PICK A #) "
7480 GOSUB 9010
7490 INPUT TU
7500 PRINT "ENTER VALUE OF ";A*(TU)5"."
7510 INPUT TM
7520 PRINT "WHICH UNIT FOR DISTANCE(PICK A «) "
7530 GOSUB 9100
7S40 INPUT DU
7550 PRINT "ENTER VALUE OF VELOCITY IN UNITS OF"
7560 PRINT B«(DU>;" PER "; A«<TU) ; ". "
7570 INPUT VE
7580 DI = VE ♦ TM
7590 PRINT
7AOO PRINT
7610 PRINT "THE ANSWER IS ";DI;" ";B»(DU) ; ". "
7620 PRINT
7630 PRINT "WOULD YOU LIKE THE ANSWER TO BE"
7640 PRINT "CONVERTED TO OTHER UNITS?"
7650 PRINT "<YES OR NO)"
7660 INPUT S*
7670 IF S» = "YES" THEN 7690
7680 GOTO 6120
7690 PRINT
7700 PRINT "WHAT UNITS OF DISTANCE?"
77 lO GOSUB 9100
7720 INPUT D2
7730 DX = (DI » B(DU,D2))
7740 PRINT DI;" ";B*(DU)
7750 PRINT "EQUALS ";DX;" ";B«(D2);"."
7760 PRINT
7770 PRINT "PUSH THE 'RETURN' KEY."
7780 INPUT S«
7790 GOTO 6120
aOOO REM FIND DISTANCE
8010 L = 24
8020 GOSUB 18000
8030 PRINT "FINDING TIME GIVEN"
8040 PRINT "DISTANCE AND VELOCITY"
8050 PRINT
8060 PRINT "WHICH UNIT FOR DISTANCE"
8070 PRINT "(PICK A NUMBER)"
8080 GOSUB 9100
8090 INPUT DU
8100 PRINT "ENTER VALUE OF "S B*(DU) J "- "
8110 INPUT DI
8120 PRINT "WHICH UNIT FOR TIME (PICK A #) "
8130 GOSUB 9010
8140 INPUT TU
8150 PRINT "ENTER VALUE OF VELOCITY IN UNITS OF*
8160 PRINT B«(DU);" PER ";A*(TU);"."
8170 INPUT VE
8180 TM = DI / VE
8190 PRINT
8200 PRINT
8210 PRINT "THE ANSWER IS ";TM;" ";A*(TU);"."
8220 PRINT
147
8230 PRINT "WOULD YOU LIKE THE ANSWER TO BE'
8240 PRINT "CONVERTED TO OTHER UNITS?"
8250 PRINT "(YES OR NO) "
8260 INPUT 3%
8270 IF S» = "YES" THEN 8290
8280 60T0 6120
8290 PRINT
8300 PRINT "WHAT UNITS OF TIME?"
83 lO GOSUB 9010
8320 INPUT T2
8330 TX = (TM * A(TU,T2))
8340 PRINT TM;" ";At»(TU)
8350 PRINT "EQUALS ";TX;" ";A«(T2);"."
8360 PRINT
8370 PRINT "PUSH THE 'RETURN' KEY."
8380 INPUT S*
8390 SOTO 6120
9000 REM PRINT SUBROUTINES
9010 REM TIME
9020 PRINT
9030 FOR I = 1 TO 5
9040 PRINT " ";i;". ";A«(i)
9050 NEXT I
9060 PRINT
9070 RETURN
9080 REM DISTANCE
9090 PRINT
9100 FOR I = 1 TO 6
9110 PRINT " ";l|". ";B*(I)
9120 NEXT I
9130 PRINT
9140 RETURN
18000 REM SCROLL
FOR I = 1 TO L
PRINT
NEXT I
RETURN
REM DELAY
FOR K = 1 TO D
NEXT K
RETURN
REM CLOSING
L = 24
GOSUB 18000
PRINT "WE'RE FINISHED,
148
18010
18020
18030
18040
19OO0
19010
19020
19030
20000
20010
2OO20
20030
20040
20050
20060
20070
21000
21010
21020
21030
21040
21050
21060
21070
PRINT "I HOPE YOU HAD A
L = 12
GOSUB 18000
END
DATA
DATA
DATA
DATA
DATA
DATA
DATA
DATA
•;na»;"!"
NICE TIME!
1 , . 01667, 2. 778E-4, 1 . 157E-5, 3. 169E-8
60,1,. 01667, 6. 944E-4,1.901E-6
3600,60, 1, .04167, 1. 141E-4
86400, 1440, 24, 1 , 2. 738E-3
3 1 557600 , 525960 , 8766 , 365 . 25 , 1
SECONDS, MINUTES, HOURS, DAYS, YEARS
1 , . 1 , . 001 , 1 . OE-6, 3. 28084E-3, 6. 2137E-7
10, 1 , . 01 , 1 . OE-5, 3. 28084E-2, 6. 2137E-6
21080 DATA 1000, 100, 1, .001, 3.28084,6. 2137E-4
21090 DATA 1000000, 100000, 1000, 1,3280.84, .62137
21 100 DATA 304. 8, 30. 48, . 3048, 3. 048E-4, 1,1. 894E-4
21 1 10 DATA 1609300, 160930, 1609. 3, 1 . 6093, 5280, 1
21120 DATA MILL I METERS, CENT I METERS, METERS, KILOMETERS, FEET, H
ILES
TABLE OF VARIABLES
A*(*) - TIME UNITS
1010 1080 4140 4200 4210 4230
4270 4270 7080 7190 7350 7360
7500 7560 8160 8210 8340 8330
9040
A(*,*) - TIME CONVERSIONS
10 lO 1040 4250 7340 8330
B«(*) - DISTANCE UNITS
lOlO 1160 5350 5420 3430 5450
5490 5490 7130 7 ISO 7350 7360
7560 76 lO 7740 7750 8100 8160
9110
B(*,») - DISTANCE CONVERSIONS
lOlO 1120 5470 7340 7730
D - DELAY
2010 2230 19010
D2 - DISTANCE UNIT CONVERTED TO
5400 5430 5470 5490 7330 7340
7360 7720 7730 7750
DI - VALUE OF DU
5460 5470 5490 7140 7150 7340
7580 76 lO 7730 7740 8110 8180
DU - DISTANCE UNIT STARTED WITH
5320 5330 5350 5420 5450 5470
5490 7120 7130 7180 7340 7350
7540 7560 7610 7730 7740 8090
8100 8160
DX - VALUE OF D2
5470 5490 7730 7750
I - COUNTER
1020 1040 1060 1070 1080 1090
llOO 1120 1140 1150 1160 1170
2020 2030 2080 2090 2100 2150
2160 2170 2220 9030 9040 9040
9050 9100 9110 9110 9120 18010
18030
J - COUNTER
149
150
1030 1040 lOSO 1110 1120 1130
2030 2050 2100 2120 2170 2190
K - COUNTER
19010 19020
L - LINES FOR SCROLL I N6
2250 2300 2530 5010 5220 60 lO
6080 6150 7000 7420 8010 18010
20010 20050
NA« - NAME
2320 2330 20030
S* - STUDENT ANSWER
2520 5210 6110 7240 7250 7390
7660 7670 7780 8260 8270 8380
SA - STUDENT ANSWER
6280 6290 6300
T2 - TIME UNIT CONVERTED TO
4180 4210 4250 4270 7300 7340
7360 8320 8330 8350
TM - VALUE OF TU
4240 4250 4270 7090 7150 7340
75 lO 7580 8 ISO 8210 8330 8340
TU - TIME UNIT STARTED WITH
41 lO 4120 4140 4200 4230 4250
4270 7070 70a0 7190 7340 7350
7490 7500 7560 8140 8160 82 lO
8330 8340
TX - VALUE OF T2
4250 4270 8330 8350
VE - VELOCITY
7150 7180 7350 7570 7580 8170
8180
VX - VELOCITY AFTER CONVERSION
7340 7360
END OF VAR. LIST
SAMPLE RUN
HI! I'M HAPPY TO SEE YOU.
WHAT IS YOUR NAME?
?JOHN
IT'S NICE TO MEET YOU, JOHN.
IN THIS PROGRAM WE ARE GOING TO
STUDY TIME, DISTANCE, AND
VELOCITY.
FIRST, LET'S WORK WITH TIME.
TIME CAN BE MEASURED IN A VARIETY
OF UNITS, INCLUDING SECONDS,
MINUTES, HOURS, AND SO FORTH.
WE WILL PRACTICE CONVERTING
VALUES FROM ONE TO ANOTHER FOR
A BIT JUST TO GET USED TO THEM.
PRESS THE 'RETURN' KEY TO CONTIlvft^.
TYPE IN ONE VALUE AND I WILL CONVERT
IT FOR YOU!
TYPE IN A 'O' TO GO ON.
CHANGE FROM (PICK A NUMBER)
1. SECONDS
2. MINUTES
3. HOURS
4. DAYS
5. YEARS
?3
CHANGE FROM HOURS TO
<PICK A NUMBER)
1. SECONDS
2. MINUTES
3. HOURS
4. DAYS
5. YEARS
?1
CHANGE FROM HOURS TO
SECONDS.
HOW MANY HOURS?
72
2 HOURS EQUALS 7200 SECONDS.
151
TYPE IN A 'O' TO GO ON.
CHANGE FROM (PICK A NUMBER)
1. SECONDS
2. MINUTES
3. HOURS
4. DAYS
5. YEARS
?o
DISTANCE IS ALSO MEASURED IN
A VARIETY OF UNITS.
AMONG THEM ARE METRIC UNITS
SUCH AS CENTIMETERS, METERS, AND
KILOMETERS. IN ADDITION, THERE
ARE ENGLISH UNITS SUCH AS FEET
AND MILES.
LET'S PRACTICE CONVERTING SOME
DISTANCES BETWEEN THE VARIOUS UNITS.
ALTHOUGH IT ISN'T TOO GOOD OF AN
IDEA TO CONVERT BETWEEN ENGLISH AND
METRIC UNITS, I WILL INCLUDE THEM BOTH
FOR YOU TO WORK WITH.
PUSH 'RETURN' TO CONTINUE.
TYPE IN A 'O' TO GO ON.
CHANGE FROM (PICK A NUMBER)
1. MILLIMETERS
2. CENTIMETERS
3. METERS
4. KILOMETERS
5. FEET
6. MILES
?2
CHANGE FROM CENTIMETERS TO
(PICK A NUMBER)
152
1. MILLIMETERS
2. CENTIMETERS
3. METERS
4. KILOMETERS
5. FEET
6. MILES
?3
CHANGE FROM CENTIMETERS TO
METERS.
HOW MANY CENTIMETERS?
7350
350 CENTIMETERS EQUALS 3.5 METERS.
TYPE IN A 'O' TO GO ON.
CHANGE FROM (PICK A NUMBER)
1- MILLII«TERS
2. CENTIMETERS
3. METERS
4. KILOMETERS
5. FEET
6- MILES
?o
NOW LETS WORK WITH VELOCITY.
VELOCITY IS THE DISTANCE COVERED
IN A GIVEN UNIT OF TIME.
(LIKE 60 MILES PER HOUR)
PUSH 'RETURN' TO CONTINUE.
•7
PICK A NUMBER.
1. GIVEN TIME AND DISTANCE,
FIND VELOCITY.
2. GIVEN TIME AND VELOCITY,
FIND DISTANCE.
153
3. GIVEN VELOCITY AND DISTANCE,
FIND TIME.
TYPE IN A 'O' TO GO ON.
?1
FINDING VELOCITY GIVEN
TIME AND DISTANCE
WHICH UNIT FOR TIME (PICK A #)
1. SECONDS
2. MINUTES
3. HOURS
4. DAYS
5. YEARS
?3
ENTER VALUE OF HOURS.
?3
WHICH UNIT FOR DISTANCE (PICK A «)
1. MILLIMETERS
2. CENTIMETERS
3. METERS
4. KILOMETERS
5. FEET
b. MILES
?6
ENTER VALUE OF MILES.
?250
THE ANSWER IS 83.3333334 MILES
PER HOURS.
WOULD YOU LIKE THE ANSWER TO BE
CONVERTED TO OTHER UNITS?
(YES OR NO)
?YES
WHAT UNITS OF TIME?
1. SECONDS
2. MINUTES
3. HOURS
4. DAYS
5. YEARS
?1
WHICH UNITS OF DISTANCE
1. MILLIMETERS
2. CENTIMETERS
3. METERS
4. KILOMETERS
5. FEET
6. MILES
154
?3
83.3333334 MILES PER HOURS EQUALS:
37.2523148 METERS PER SECONDS.
PUSH 'RETURN' TO CONTINUE.
•7
PICK A NUMBER.
1. GIVEN TIME AND DISTANCE,
FIND VELOCITY.
2. GIVEN TIME AND VELOCITY,
FIND DISTANCE.
3. GIVEN VELOCITY AND DISTANCE,
FIND TIME.
TYPE IN A 'O' TO GO ON.
?0
WE'RE FINISHED, JOHN!
I HOPE YOU HAD A NICE TIME!
155
Too High
Too Low
PROGRAM DESCRIPTION
This program exercises the concept of decimals with multipH-
cation and the abiUty to memorize a range of numbers. The
computer thinks of a number and you try to guess it. Each time
you guess incorrectly, the computer gives you helpful hints. Be
warned, however, that not all the hints are easy, and some of them
may require you to use your multiplication skills.
PROGRAM NOTES
1. Changing the "1000" in line 10010 will change the maximum
number possible. A smaller number like 100 might be better
for younger children.
2. For more advanced students, consider truncating variable "D"
at two decimal places, instead of just one. This would involve
lines 4100, 1 1030, and 1 1060. The result would be something
like: "Your answer is about 1.02 times too high."
PROGRAM LISTING: BASIC
lOO REM TOO HI6H-TOO LOW BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO DIM NA«(40)
1020 DIM RS«(20>
1030 REM USE FULL SCREEN
1040 POKE 82, O
1050 PRINT
156
2000 REM INTRODUCTION
2010 FOR 1=1 TO 24
2020 PRINT
2030 NEXT I
2040 PRINT "HELLO! I'M HAPPY TO SEE YOU!"
2050 PRINT "WHAT IS YOUR NAME";
2060 INPUT NA«
2070 PRINT "I HOPE YOU HAVE A NICE TIME,"
2080 PRINT NA*;"."
2090 PRINT
2100 PRINT
2110 PRINT "THIS GAME IS VERY EASY TO EXPLAIN."
2120 PRINT "I WILL THINK OF A NUMBER, AND"
2130 PRINT "IT WILL BE YOUR JOB TO GUESS IT."
2140 PRINT
2150 PRINT
2160 FOR DE=1 TO lOOO
2170 NEXT DE
2180 PRINT "HERE WE GO!"
2190 PRINT
2200 PRINT
2210 PRINT
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 PRINT "I AM THINKING OF A NUMBER."
4030 PRINT "TYPE IN YOUR GUESS!"
4040 INPUT SA
4050 N=N+1
4060 IF SAOO THEN 4090
4070 PRINT "NO, I'M NOT THINKING OF O, TRY AGAIN!"
4080 GOTO 4040
4090 GOSUB llOOO
4100 IF D=l THEN 4140
4110 PRINT "YOUR GUESS IS ABOUT ";D
4120 PRINT "TIMES TOO ";RS*i"!"
4130 GOTO 4170
4140 PRINT "YOU ARE CLOSE, ";NA«S"!"
4150 PRINT "BUT YOUR GUESS IS"
4160 PRINT "A BIT TOO ";RS»;"."
4170 PRINT "GUESS AGAIN. "
4180 PRINT
4190 PRINT
4200 PRINT
42 lO GOTO 4030
lOOOO REM RANDOMIZING
lOOlO C=INT(RND(0)*1000)+1
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA=C THEN 12000
11020 IF SA<C THEN 11060
11030 D=INT<SA*10/C)/10
11040 RS*="HIGH"
11050 RETURN
11060 D=INT(C«10/SA)/10
11070 RS*="LOW"
11080 RETURN
12000 REM REWARD
157
12010 FOR 1=1 TO 11
12020 PRINT
12030 NEXT I
12040 PRINT "YOU FOUND MY NUMBER"
12050 PRINT "IN ";N;" TRIES, ";NA*;"!"
12060 FOR 1=1 TO 11
12070 PRINT
12080 NEXT I
12090 END
TABLE OF VARIABLES
NA«
1010 2060 2080 4140 12050
RS*
1020 4120 4160 11040 11070
2010 2030 12010 12030 12060 12080
DE
2160 2170
SA
4040 4060 IIOIO 11020 11030 11060
N
D
4050 4050 12050
4100 41 lO 11030 11060
lOOlO 11010 11020 11030 11060
PROGRAM LISTING: MICROSOFT BASIC
158
100 REM TOO HIGH-TOO LOW BY GARY ORWIG
SOO REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZE
lOlO REM USE FULL SCREEN
1020 POKE 82, O
2000 REM INTRODUCTION
2010 FOR I = 1 TO 24
2020 PRINT
2030 NEXT I
2040 PRINT "HELLO! I'M HAPPY TO SEE YOU!"
2050 PRINT "WHAT IS YOUR NAME";
2060 INPUT NA«
2070 PRINT "I HOPE YOU HAVE A NICE TII«E, "
2080 PRINT NA*;"."
2090 PRINT
2100 PRINT
2110 PRINT "THIS GAME IS VERY EASY TO EXPLAIN."
2120 PRINT "I WILL THINK OF A NUMBER, AND"
2130 PRINT "IT WILL BE YOUR JOB TO GUESS IT."
2140 PRINT
2150 PRINT
2160 FOR DE = 1 TO 5000
2170 NEXT DE
2180 PRINT "HERE WE GO!"
2190 PRINT
2200 PRINT
2210 PRINT
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 PRINT "I AM THINKING OF A NUMBER."
4030 PRINT "TYPE IN YOUR GUESS!"
4040 IINB»UT SA
4050 N = N + 1
4060 IF SA < > O THEN 4090
4070 PRINT "NO, I'M NOT THINKING OF O, TRY AGAIN!
4080 GOTO 4040
4090 GOSUB llOOO
4100 IF D = l.O THEN 4140
4110 PRINT "YOUR GUESS IS ABOUT ";D
4120 PRINT "TIMES TOO ";RS*;"!"
4130 GOTO 4170
4140 PRINT "YOU ARE CLOSE, ";NA*;"!"
4 ISO PRINT "BUT YOUR GUESS IS"
4160 PRINT "A BIT TOO ";RS*;"."
4170 PRINT "GUESS AGAIN."
4180 PRINT
4190 PRINT
4200 PRINT
4210 GOTO 4030
lOOOO REM RANDOMIZING
lOOlO C = RNDdOOO)
10020 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA = C THEN 12000
11020 IF SA < C THEN 11060
11030 D = INT (SA » 10 / C) / lO
11040 RS« = "HIGH"
11050 RETURN
11060 D = INT (C * lO / SA) / lO
11070 RS« = "LOW"
11080 RETURN
12000 REM REWARD
12010 FOR I = 1 TO 11
12020 PRINT
12030 NEXT I
12040 PRINT "YOU FOUND MY NUMBER"
12050 PRINT "IN ";N;" TRIES, ";NA«;"!"
12060 FOR I = 1 TO 11
12070 PRINT
12080 NEXT I
12090 END
159
TABLE OF VARIABLES
C - CORRECT ANSWER
lOOlO IIOIO 11020 11030 11060
D - PROPORTION
4100 41 lO 11030 11060
DE - DELAY
2160 2170
I - COUNTER
2010 2030 12010 12030 12060
12080
N - NUMBER OF TRIES
4050 4050 12050
NA« - NAME
2060 2080 4140 12050
RSS - HIGH OR LOW
4120 4160 11040 11070
SA - STUDENT ANSWER
4040 4060 llOlO 11020 11030
11060
END GM^ VAR. LIST
SAMPLE RUN
HELLO! I'M HAPPY TO SEE YOU!
WHAT IS YOUR NAME7KIM
I HOPE YOU HAVE A NICE TIME,
KIM.
THIS SAME IS VERY EASY TO EXPLAIN.
I WILL THINK OF A NUMBER, AND
IT WILL BE YOUR JOB TO GUESS IT.
HERE WE GO!
I AM THINKING OF A NUMBER.
TYPE IN YOUR GUESS!
?500
YOUR GUESS IS ABOUT 21.7
TIMES TOO HIGH!
GUESS AGAIN.
160
TYPE IN YOUR GUESS!
?24
YOU ARE CLOSE, KIM!
BUT YOUR GUESS IS
A BIT TOO HIGH.
GUESS AGAIN.
TYPE IN YOUR GUESS!
720
YOUR GUESS IS ABOUT 1.1
TIMES TOO LOW!
GUESS AGAIN.
TYPE IN YOUR GUESS!
?22
YOU ARE CLOSE, KIM!
BUT YOUR GUESS IS
A BIT TOO LOW.
GUESS AGAIN.
TYPE IN YOUR GUESS!
?23
YOU FOUND MY NUMBER
IN 5 TRIES, KIM!
161
v1»
Trivia Quiz
PROGRAM DESCRIPTION
Any multiple-choice quiz can be generated from this program
by inputting multiple-choice questions from an instructor-made
data file. The computer presents a question with multiple-choice
answers, judges the answers, and provides a score at the end of the
program. This is an excellent tool for testing on a variety of
subjects.
PROGRAM NOTES
1. Notice that subroutine 10000 does not randomize but instead
presents the problems in order (sequentially). You can change
that if you want. Just look at line 10000 in programs that do
randomize.
2. Problems that have answers less than the number 5 can get
confusing. It might be better to switch to: "Type in an A, B, C,
or D" if you have many of these.
PROGRAM LISTING: BASIC
100 REM TRIVIA QUIZ BY GARY ORWIG
lOOO REM INITIALIZATION - SET 'TL* EQUAL TO THE NUMBER OF PR
OBLEMS IN YOUR DATA SET.
10 lO TL=20
1020 DIM QS(150},A1«(40),A2«(40),A31><40),A4S(40>,CR<TL)
1030 DIM NA«(40>,S«(20)
1040 FOR 1=1 TO TL
162
1050 CR(I)=0
1060 NEXT I
1070 REM USE FULL SCREEN
1080 POKE 82,0
1090 PRINT
2000 REM INTRODUCTION
2010 FOR 1=1 TO 50
2020 PRINT " TRIVIA QUIZ
2030 NEXT I
2040 D=200
2050 GOSUB 19000
2060 L=12
";
18000
"WHAT
18000
2070 GOSUB
2080 PRINT
2090 GOSUB
2100 IHPUT NA«
21 lO PRINT
2120 PRINT
2130 PRINT
2140 PRINT
2150 PRINT
2160 PRINT
2170 PRINT
2180 PRINT
2190 PRINT
2200 L=8
22 lO GOSUB
2220 PRINT
2230 PRINT
IS YOl« NAME?"
I'M HAPPY TO MEET YOU, ";NA«;
"THIS IS A QUIZ WHICH COVERS A WIDE*
"VARIETY OF TOPICS. I WILL ASK YOU'
"QUESTIONS, AND YOU PICK THE NUMBER'
"OF THE RIGHT ANSWER."
18000
"READY? PUSH THE 'RETURN'"
"KEY TO BEGIN."
2240 INPUT S»
4000 REM MAIN PROGRAM
4010 GOSUB lOOOO
4020 READ Q«, Al«, A2«, A3«, A4«,KE
4030 IF CR<NX)=5 THEN 4070
4040 C=0
4050 GOSUB 17000
4060 GOTO 4100
4070 C=C+1
40a0 IF C=TL+1 THEN 20000
4090 GOTO 4010
4100 PRINT "TYPE IN A 1, 2, 3, OR 4" 5
INPUT SA
IF SA<1 OR SA>4 THEN 4100
4130 GOSUB 15000
4140 GOSUB llOOO
4150 IF HT=1 THEN 4210
AlhO GOSUB 14000
4170 PRINT "!« WILL TRY THAT CMME AGAIN LATER!
4180 D=200
4190 GOSUB 19000
4200 GOTO 4010
4210 GOSUB 12000
4220 D=200
4230 GOSUB 19000
4240 GOTO 4010
lOOOO REM SEQUENCE QUESTIONS
lOOlO NX=NX+1
4110
4120
163
10020
IF NX<TL+1 THEN 10060
10030
NX=0
10040
RESTORE
lOOSO
GOTO lOOlO
10060
RETURN
llOOO
REM JUDGE ANSWER
IIOIO
IF SA=KE THEN 11040
11020
HT=0
11030
RETURN
11040
HT=1
11050
CR<NX)=5
11060
RETURN
12000
REM REWARD
12010
PRINT
12020
PRINT "GREAT!"
12030
PRINT
12040
RETURN
14000
REM WRONG
14010
PRINT
14020
PRINT "SORRY!"
14030
PRINT
14040
RETURN
15000
REM SCORE KEEPING
ISOIO
N=N+1
15020
RETURN
17000
RFM PRINT OUT PROBLEM
17010
L=12
17020
GOSUB 18000
17030
PRINT Q%
17040
PRINT
17050
PRINT " 1. ";A1»
17060
PRINT " 2. ";A2«
17070
PRINT - 3. ";A3«
17080
PRINT " 4. ";A4»
164
17090 L=8
17100 GOSUB 18000
17110 RETURN
18000 REM PRINT LINES
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 L=12
20020 GOSUB 18000
20030 PRINT "IT TOOK ";N;" TRIES TO GET"
20040 PRINT TL;" PROBLEMS CORRECT!"
20050 END
21000 REM DATA
21010 DATA HOW MANY CALORIES IN ONE TEASPOON OF GRANULATE
D SUGAR?
21020 DATA 15,25,40,50,2
21030 DATA HOW MANY BONES ARE IN THE HUMAN BODY?
CARD IN 1
UNITED ST
21040 DATA 150,192,206,218,3
21050 DATA HOW MUCH DID IT COST TO SEND A POST
980?
21060 DATA 6 CENTS, 8 CENTS, 10 CENTS, 12 CENTS, 3
21070 DATA HOM MANY OCEANS ARE THERE?
21080 DATA 4,5,6,7,4
21090 DATA WHAT STATE WAS THE LAST TO JOIN THE
ATES?
21100 DATA HAWAI I, ALASKA, ARIZONA, UTAH, 1
21110 DATA AT WHAT TEMPERATURE DOES WATER BOIL?
21120 DATA 50 DEGREES C.,75 DEGREES C. , 100 D6REES C. , 125 DEG
REES C. ,3
21130 DATA WHAT IS THE CLOSEST PLANET TO THE SUN?
21140 DATA EARTH, MERCURY, VENUS, MARS, 2
21150 DATA WHAT IS YOUR ZODIAC SIGN IF YOUR BIRTHDAY IS SEPT
EMBER 16?
21160 DATA CANCER, PISCES, ARIES, VIRGO, 4
21170 DATA HOW MANY SIDES DOES A HEXAGON HAVE?
21180 DATA 4,5,6,8,3
21190 DATA HOW MANY LINES MAKE A MUSICAL STAFF?
21200 DATA 4,5,6,7,2
21210 DATA WHAT IS THE NATIONAL ANTHEM OF THE UNITED ST
ATES?
21220 DATA AMERICA, AMERICA THE BEAUTIFUL, STARS AND STRIPES F
OREVER,STAR SPANGLED BANNER, 4
21230 DATA WHAT IS THE REAL NAME OF THE FONZ?
21240 DATA JAMES STEWART , HENRY WINKLER, DUST IN HOFFMM4,JOHN D
AVIDSON,2
212SO DATA HOW MANY DAYS DOES IT TAKE FOR MARS TO 60 AROUND
THE SUN?
21260 DATA 365,489.2,521.5,686.9,4
21270 DATA WHAT IS THE CAPITAL OF ILLINOIS?
21280 DATA SPRINGFIELD, INDIANAPOLIS, AUSTIN, MADISON, 1
21290 DATA WHAT IS THE LARGEST RIVER IN THE WORLD?
21300 DATA MISSISSIPPI , NILE, AMAZON, RHINE, 3
21310 DATA WHAT IS THE HIGHEST MOUNTAIN IN THE WC«LD?
21320 DATA MOUNT MCKINLEY, MT ST. HELENS, MOUNT DORA, MOUNT EVE
REST, 4
21330 DATA WHEN IT IS 5:00 A.M. IN FLORIDA WHAT TIME IS IT I
N CALIFORNIA?
21340 DATA 2:00 A.M. ","4:00 A.M. ","6:00 A.M. ","8:00 A.M.",1
21350 DATA WHAT IS THE CAPITAL OF SPAIN?
21360 DATA PARIS,MADRID, LISBON, BERLIN, 2
21370 DATA WHAT IS THE SQUARE ROOT OF 256?
21380 DATA 14,15,16,18,3
21390 DATA IN WHICH FOOD WOULD THE MOST PROTEIN BE FOUND?
21400 DATA APPLE, CHICKEN, BREAD, LETTUCE, 2
TABLE OF VARIABLES
TL
lOlO 1020 1040 4080 10020 20040
Q«
1020 4020 17030
165
1020 4020 17050
A2S
1020 4020 17060
A3«
1020 4020 17070
A4«
1020 4020 17080
CR(
1020 lOSO 4030 11030
NA«
1030 2100 2130
S«
1030 2240
I
1040 1050 1060 2010 2030 18010
18030 19010 19020
O
2040 4180 4220 19010
L
2060 2200 17010 17090 18010 20010
KE
4020 IIOIO
NX
4030 lOOlO lOOlO 10020 10030 11050
c
4040 4070 4070 4080
SA
41 lO 4120 4120 11010
HT
4150 11020 11040
N
ISOIO ISOIO 20030
PROGRAM LISTING: MICROSOFT BASIC
lOO REM TRIVIA QUIZ BY GARY ORWIG
lOOO REM INITIALIZATION - SET 'TL' EQUAL TO THE NUMBER OF
PROBLEMS IN YOUR DATA SET.
166
1010
1020
1030
1040
1050
1060
1070
1080
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
TRIVIA QUIZ
TL = 20
DIM Q* <TL) , Alt (TL) , A2* (TL) , A3* (TL) , A4« (TL) , KE (TL)
FOR I = 1 TO TL
READ Q«(I),A1S(I), A2« ( I ) , A3« ( I ) , A4« ( I ) , KE ( I )
NEXT I
REM USE FULL SCREEN
POKE 82,0
CLS
REM INTRODUCTION
FOR I = 1 TO 10
FOR J = 1 TO 50
NEXT J
PRINT "
NEXT I
D = 2500
60SUB 19000
L = 12
GOSUB 18000
PRINT "WHAT
GOSUB 18000
IW>UT NA*
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 8
GOSUB
PRINT
PRINT
IS YOUR NAME?'
I'M HAPPY TO MEET YOU, ";NA*;
"THIS IS A QUIZ WHICH COVERS A WIDE"
"VARIETY OF TOPICS. I WILL ASK YOU"
"QUESTIONS, AND YOU PICK THE NUMBER OF'
"OF THE RIGHT ANSWER.
18000
"READY? PUSH THE 'RETURN'
"KEY TO BEGIN. "
INPUT S»
REM MAIN PROGRAM
GOSUB lOOOO
IF KE(NX) = 5 THEN 4060
C = O
GOSUB 17000
GOTO 4090
C = C + 1
IF C = TL +
GOTO 4010
PRINT "TYPE
1 THEN 2<X>00
INPUT SA
IF SA
GOSUB
GOSUB
IF HT
GOSUB
PRINT
IN A 1, 2, 3, OR
> 4 THEN 4090
< 1 OR SA
15000
llOOO
= 1 THEN 4200
14000
"WE WILL TRY THAT OI>E AGAIN LATER!
D = 2000
GOSUB 19000
GOTO 4010
GOSUB 12000
D = 2000
167
4220 GOSUB 19000
4230 GOTO 4010
lOOOO REM SEQUENCE QUESTIONS
lOOlO NX = NX + 1
10020 IF NX < TL + 1 THEN 10050
10030 NX = O
10040 GOTO 10010
10050 RETURN
llOOO REM JUDGE ANSWER
11010 IF SA = KE(NX) THEN 11040
11020 HT = O
11030 RETURN
11040 HT = 1
11050 KE(NX) = 5
11060 RETURN
12000 REM REWARD
12010 PRINT
12020 PRINT "GREAT!"
12030 PRINT
12040 RETURN
14000 REM WRONG
14010 PRINT
14020 PRINT "SORRY!"
14030 PRINT
14040 RETURN
15000 REM SCORE KEEPING
15010 N = N + 1
15020 RETURN
17000 REM PRINT OUT PROBLEM
17010 L = 12
17020 GOSUB 18000
17030
PRINT Q«(NX)
17040 PRINT
17050 PRINT
168
17060
17070
17080
17090
17100
17110
18000
18010
18020
18030
18040
19000
19010
19020
19030
20000
20010
20020
20030
20040
20050
21000
21010
1.
2.
3.
4.
";A1«(NX)
";A2*(NX)
PRINT "
PRINT " 3. ";A3«(NX)
PRINT " 4. ";A4*(NX)
L = 8
GOSUB 18000
RETURN
REM PRINT LINES
FOR I = 1 TO L
PRINT
NEXT I
RETURN
REM DELAY
FOR I = 1 TO D
NEXT I
RETURN
REM CLOSING
L = 12
GOSUB 18000
PRINT "IT TOOK ";N;" TRIES TO GET"
PRINT TL;" PROBLEMS CORRECT!"
END
REM DATA
DATA "HOW MANY CALORIES IN ONE TEASPOON OF
GRANULAT
ED SUGAR?"
21020 DATA 15,25,40,50,2
21030 DATA "HOW MANY BONES ARE IN THE HUMAN BODY?"
21040 DATA 150,192,206,218,3
21050 DATA "HOW MUCH DID IT COST TO SEND A POST
1980?"
21060 DATA
21070 DATA
CARD IN
6 CENTS, 8 CENTS, 10 CENTS, 12 CENTS, 3
HOW MANY OCEANS ARE THERE?"
21080 DATA 4,5,6,7,4
21090 DATA "WHAT STATE WAS THE LAST TO JOIN THE UNITED 8
TATES?"
21100 DATA HAWAI I, ALASKA, ARIZONA, UTAH, 1
21110 DATA "AT WHAT TEMPERATURE DOES WATER BOIL?"
21120 DATA 50 DEGREES C. ,75 DEGREES C. , 100 DGREES C. , 125 DE
GREES C.,3
21130 DATA
21140 DATA
21150 DATA
16, WHAT IS YOUR
UNITED S
WHAT IS THE CLOSEST PLANET TO THE SUN?
EARTH, MERCURY, VENUS, MARS, 2
IF YOUR BIRTHDAY IS SEPTEMBER
ZODIAC SIGN?"
21160 DATA CANCER, PISCES, ARIES, VIRGO, 4
21170 DATA "HOW MANY SIDES DOES A HEXAGON HAVE?"
21180 DATA 4,5,6,8,3
21190 DATA "HOW MANY LINES MAKE A MUSICAL STAFF?
21200 DATA 4,5,6,7,2
21210 DATA "WHAT IS THE NATIONAL ANTHEM OF THE
TATES?"
21220 DATA AMERICA, AMERICA THE BEAUT I FUL , ST ARS AND STRIPES
FOREVER, STAR SPANGLED BANNER, 4
21230 DATA "WHAT IS THE REAL NAME OF THE FONZ?"
21240 DATA JAMES STEWART, HENRY WINKLER, DUST IN HOFFMAN, JOHN D
AVIDSON,2
21250 DATA "HOW MANY DAYS DOES IT TAKE FOR MARS TO GO AROU
ND THE SUN?"
21260 DATA 365,489.2,521.5,686.9,4
21270 DATA "WHAT IS THE CAPITAL OF ILLINOIS?
21280 DATA SPRINGFIELD, INDIANAPOLIS, AUSTIN, MADISON, 1
21290 DATA "WHAT IS THE LARGEST RIVER IN THE WORLD?"
21300 DATA MISSISSIPPI, NILE, AMAZON, RHINE, 3
21310 DATA "WHAT IS THE HIGHEST MOUNTAIN IN THE WORLD?"
21320 DATA MOUNT MCKINLEY, MT ST- HELENS, MOUNT DORA, MOUNT EVE
REST, 4
21330 DATA "WHEN IT IS 5:00 A.M. IN FLORIDA WHAT TIME IS IT
IN CALIFORNIA?"
21340 DATA "2:00 A.M
21350 DATA
21360 DATA
21370 DATA
21380 DATA
21390 DATA
21400 DATA
•8:00 A.M. ",1
,"4:00 A.M. ","6: 00 A.M.
"WHAT IS THE CAPITAL OF SPAIN?"
PARIS, MADRID, LISBON, BERLIN, 2
"WHAT IS THE SQUARE ROOT OF 256?"
14,15,16,18,3
"IN WHICH FOOD WOULD THE MOST PROTEIN BE FOUND?"
APPLE , CH I CKEN , BREAD , LETTUCE , 2
TABLE OF VARIABLES
Al«<«) - ANSWER 1
1020 1040 17050
169
A2*(*) - ANSWER 2
1020 1040 17060
A3«(») - ANSWER 3
1020 1040 17070
A4«(*) - ANSWER 4
1020 1040 17080
C - NUMBER OF PROBLEMS ANSWERED
4030 4060 4060 4070
D - DELAY
2060 4170 4210 19010
HT - HIT
4140 11020 11040
I - COUNTER
1030 1040 1040 1040 1040 1040
1040 1050 2010 2050 18010 18030
19010 19020
J - COUNTER
2020 2030
KE<*) - KEYS
1020 1040 4020 11010 11050
L - LINES OF SCROLLING
20a0 2220 17010 17090 18010
20010
N - NUMBER OF TRIES
15010 15010 20030
NA« - NAME
2120 2150
NX - NUMBER IN SEQUENCE
4020 lOOlO 10010 10020 10030
11010 11050 17030 17050 17060
17070 17080
Q»<») - QUESTIONS
1020 1040 17030
S« - STUDENT ANSWER
2260
SA - STUDENT ANSWER
4100 4110 4110 IIOIO
TL - NUMBER OF QUESTIONS IN LIST
lOlO 1020 1020 1020 1020 1020
1020 1030 4070 10020 20040
170 END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
7JOHNNY
I'M HAPPY TO MEET YOU, JOHNNY.
THIS IS A QUIZ WHICH COVERS A WIDE
VARIETY OF TOPICS. I WILL ASK YOU
QUESTIONS, AND YOU PICK THE NUMBER OF
OF THE RIGHT ANSWER.
READY? PUSH THE 'RETURN
KEY TO BEGIN.
•7
HOW MANY CALORIES IN ONE TEASPOON OF GRANULATED SUGAR?
1. 15
2. 25
3- 40
4. 50
TYPE IN A 1, 2, 3, OR 4?2
GREAT !
HOW MANY BONES ARE IN THE HUMAN BODY?
1. 150
2. 192
3. 206
4. 218
TYPE IN A 1, 2, 3, OR 4?3
GREAT !
HOW MUCH DID IT COST TO SEND A POST CARD IN 1980?
1. 6 CENTS
2. 8 CENTS
3. lO CENTS
4. 12 CENTS 171
TYPE IN A 1, 2, 3, OR 4?1
SORRY !
WE WILL TRY THAT ONE AGAIN LATER!
172
BRANCHING PROGRAMS
Branching programs allow individual learners to take different routes through the
instruction, depending on how much they know and how fast they learn. The
microcomputer is an ideal vehicle for these programs because it allows instant access to
any part of any program. The following selection of program listings and sample runs was
chosen to demonstrate the methodology by which branching programming is used to
instruct the learner in such subject areas as mathematics, metric conversion, and
sentence grammar.
173
Factor Game
PROGRAM DESCRIPTION
This is an interesting instructional game on factoring num-
bers. The computer gives you an initial quiz (pre-test) to find out if
you know what factors of numbers are all about. If you obtain all of
the answers correctly, you don't need to receive instruction on
factors. On the other hand, for those of you who may have wrong
answers, the computer will give you a lesson on factors before you
can play the game.
In the factor game you compete against the computer. To start
the game, the computer displays a set of numbers. You then select
a number and add the amount of the number to your score. The
computer will select all of the factors of the number you chose
except the number itself. It then adds the amounts of the numbers
selected to its score. The game is played until the original list of
numbers selected by the computer is completed. The object of the
game is to try to select numbers that do not have many factors left
in the list. Otherwise, the computer will gobble up all of the
numbers in the list and beat you soundly!
PROGRAM NOTES
174
When a large maximum number is chosen, the list of numbers
will wrap around two or more lines on the screen. See if you can
come up with a subroutine that will prevent splitting a number
between the end of one line and the beginning of the next. This
seems to be a problem mainly with the ATARI BASIC,
PROGRAM LISTING: BASIC
lOO REM FACTOR GAME BY GARY ORWIG
1000 REM INITIALIZATION
1010 DIM NA«(40)
1020 DIM SA«(5)
1030 REM USE FULL SCREEN
1040 POKE 82,0
1050 PRINT
2000 REM INTRODUCTION
2010 L=12
2020 GOSUB
18000
2030 PRINT
FACTCWS"
2040 GOSUB
18000
2050 D=200
2060 GOSUB
19000
2070 GOSUB
18000
2080 PRINT
"WHAT IS YOUR NAME?"
2090 GOSUB
18000
2100 INPUT
NA«
2110 GOSUB
18000
2120 PRINT
"I'M HAPPY TO MEET YOU, ";NA«i"."
2130 GOSUB
18000
2140 GOSUB
19000
2150 GOSUB
18000
2160 PRINT
"THIS IS A GAME OF FACTORS. BEFORE WE"
2170 PRINT
"GO VERY FAR, I'D BETTER CHECK TO MAKE"
2180 PRINT
"SURE YOU KNOW JUST WHAT FACTORS ARE!"
2190 PRINT
2200 PRINT
"WHAT NUMBER IS NOT A FACTOR OF 12?"
2210 PRINT
2220 PRINT
■ f •« H
2230 PRINT
3"
2240 PRINT
■I Ma
2250 PRINT
6"
2260 PRINT
" 8"
2270 PRINT
12"
2280 L=4
2290 GOSUB
18000
2300 INPUT
SA
2310 IF SA=
=8 THEN 2730
2320 GOSUB
18000
2330 PRINT
" 1, 3, 4, 6, 8, 12"
2340 PRINT
2350 PRINT
"THE NUMBER '8' IS THE ONLY NUMBER LISTED"
2360 PRINT
"WHICH IS NOT A FACTOR OF 12!"
2370 PRINT
2380 PRINT
"IT IS THE ONLY NUMBER IN THE SET WHICH"
2390 PRINT
"HAS A REMAINDER WHEN DIVIDED INTO"
2400 PRINT
"THE NUMBER '12.' ALL OF Tfr« OTHER"
2410 PRINT
"NUMBERS IN THE SET DIVIDE INTO 12"
2420 PRINT
"EVENLY. "
2430 PRINT
2440 PRINT
"ONE NUMBER IS A FACTOR OF ANOTHER"
2450 PRINT
"NUMBER IF IT DIVIDES INTO THE NUMBLH"
2460 PRINT
"EVENLY."
175
176
2470
2480
2490
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2680
2690
2700
27 lO
2720
2730
2740
2750
2760
2770
2780
2790
2800
3000
3010
3020
3030
3040
3050
3060
3070
3080
3090
3100
3110
3120
3130
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
PRINT
GOSUB 17000
L=12
GOSUB 18000
"LET'S TRY ONE MORE.
WHICH OF THE FOLLOWING IS NOT A FACTOR"
OF THE NUMBER 10?"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT " 1"
PRINT " 2"
PRINT " 3"
PRINT " 5"
PRINT " 10"
L=6
GOSUB 18000
INPUT SA
IF SA=3 THEN 2730
PRINT "THE NLH1BER '3' IS THE ONLY NUMBER WHICH"
PRINT "DOES NOT DIVIDE INTO lO EVENLY!"
PRINT "I THINK 1^ BETTER BACK UP A BIT, ";NA«
PRINT
GOSUB 17000
L=12
GOSUB
GOTO 2200
L=12
GOSUB
PRINT
PRINT
GOSUB
D=200
GOSUB
GOSUB
18000
18000
"VERY GOOD, ";NA»;"!
"READY FOR THE GAME ! "
18000
I THINK YOU ARE"
19000
18000
REM INSTRUCTIONS
L=12
18000
"THIS GAME IS DIFFICULT TO EXPLAIN,"
"BUT YOU WILL CATCH ON QUICKLY!"
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=5
GOSUB
GOSUB
L=12
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
"I WILL GIVE YOU A SET OF NUMBERS,"
"LIKE THIS:"
"123456789 10"
"WHEN YOU PICK A NUMBER, "
"LIKE '10,' YCHJ"
"GET TO ADD IT TO YOUR SCORE."
18000
17000
18000
"BUT "
I GET TO ADD ITS REMAINING FACTORS"
(5, 2, AND 1) TO MY SCORE!"
3240 PRINT "NOW THE LIST WILL BE MISSING ALL THOSE"
3250 PRINT "NUMBERS!"
3260 PRINT
3270 PRINT "* » 3 4 * 6 7 8 9 *"
3280 PRINT
3290 PRINT "AND WE START AGAIN!"
3300 PRINT
3310 PRINT "IF YOU PICK A NUMBER WHICH HAS NO "
3320 PRINT "FACTORS LEFT IN THE LIST, I GET IT!"
3330 PRINT "ALSO, I GET ALL THE NIAIBERS LEFT OVER"
3340 PRINT "WHEN ALL THE FACTORS ARE GONE!"
3350 PRINT
3360 PRINT
3370 PRINT "READY?"
3380 GOSUB 17000
3390 REM INITIALIZATION
3400 PRINT
3410 PRINT "WHAT IS THE LARGEST NUMBER YOU WANT?"
3420 INPUT MX
3430 DIM FA (MX)
3440 PRINT
3450 PRINT "THE HIGHEST NUMBER WILL BE ";MX;"."
3460 FOR 1=1 TO MX
3470 FA(I>=I
3480 NEXT I
4000 REM START OF MAIN PROGRAM
4010 PRINT
4020 PRINT "HERE IS THE LIST OF NUMBERS:"
4030 PRINT
4040 FOR 1=1 TO MX
4050 IF FA(I)=0 THEN 4090
4060 PRINT FA < I ) ; " " ;
4070 NEXT I
4080 GOTO 41 lO
4090 PRINT "* ";
4100 NEXT I
4110 PRINT
5000 REM INPUT NUMBER
5010 PRINT
5020 PRINT "PICK A NUMBER."
5030 INPUT N
5040 IF N>MX THEN 5070
5050 IF N<1 THEN 5070
5060 IF FA<N)=N THEN 6000
5070 PRINT
5080 PRINT "THAT NUMBER ISN'T IN THE LIST!"
5090 PRINT "TRY AGAIN!"
5100 GOTO 5030
6000 REM FIND FACTORS
6010 J=0
6020 FOR 1=2 TO N
6030 F=N/I
6040 IF POINT (F) THEN 6110
6050 IF FA<F)=0 THEN 6110
6060 PRINT
6070 PRINT "I GET ";F;"!"
6080 CT=CT+F
6090 FA(F)=0 ^77
178
6100 GOTO 6120
6110 JsJ-i-1
6120 NEXT I
6130 IF J=N-l THEN 6170
6140 SS^SS-i-N
6130 FA<N)sO
6160 GOTO 7000
6170 J=0
6180 CT»CT+N
6190 FA(N>sO
6200 PRINT
6210 PRINT "I GET ";N;"! IT HAD NO FACTORS!"
6220 PRINT
7000 REM CHECK REM. «'S FOR FACTORS
7010 FOR 1=1 TO MX
7020 J=MX-I+1
7030 FOR K=2 TO J
7040 F=J/K
7050 IF POINT (F) THEN 7130
7060 IF FA(F)=0 THEN 7130
7070 PRINT
7080 PRINT "YOUR SCORE IS: ";SS
7090 PRINT
7100 PRINT "MY SCORE IS: ";CT
71 lO PRINT
7120 GOTO 4000
7130 NEXT K
7140 NEXT I
7150 PRINT
8000 REM INK) FACTCn^S LEFT
SO 10 FOR 1=1 TO MX
8020 IF FA(I)=0 THEN 8070
8030 PRINT
8040 PRINT "I GET ";FA(I);"!"
80S0 CT=CT+FA(I)
8060 FA(I)=0
8070 NEXT I
8080 PRINT
8090 PRINT
8100 PRINT "YOUR FINAL TOTAL IS: ";SS
81 lO PRINT
8120 PRINT "MY FINAL TOTAL IS: "JCT
8130 PRINT
8140 IF CT>SS THEN PRINT "I WIN, "JNA»;"!"
8150 IF SS>CT THEN PRINT "YOU WIN, ";NA»;"!"
8160 IF SS=CT THEN PRINT "IT'S A TIE, "SNA*;"!"
8170 END
17000 REM PAUSE
17010 PRINT "PUSH 'RETURN' TO CONTINUE."
17020 INPUT SA*
17030 RETURN
18000 REM SCROLLING
18010 FOR S=l TO L
18020 PRINT
18030 NEXT S
18040 RETUraM
19000 REM DELAY
19010 FC« S=l TO D
19020 HEXT S
19030 RETURN
TABLE OF VARIABLES
NA«
lOlO 2100 2120 2670 2730 8140
81SO 8160
SA«
1020 17020
L
2010 2280 2490 2610 2700 2730
3010 3140 3170 18010
D
2050 2780 19010
SA
2300 2310 2630 2640
MX
3420 3430 3450 3460 4040 5040
7010 7020 SO 10
FA<
3430 3470 4050 4060 5060 6050
6090 6150 6190 7060 8020 8040
80S0 8060
I
3460 3470 3470 3480 4040 4050
4060 4070 4100 6020 6030 6120
70 lO 7020 7140 8010 8020 8040
8050 8060 8070
N
5030 5040 5050 5060 5060 6020
6030 6130 6140 6150 6180 6190
6210
J
6010 6110 61 lO 6130 6170 7020
7030 7040
F
6030 6040 6040 6050 6070 6080
6090 7040 7050 7050 7060
CT
6080 6080 6180 6180 7100 80»>
8050 8120 8140 8150 8160
179
ss
K
6140 6140 7080 8100 8140 8150
8160
7030 7040 7130
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM FACTOR GAME BY GARY ORWIG
lOOO REM INITIALIZE
lOlO
DIM FA(IOO)
1020
REM USE FULL
SCREEN
1030
POKE 82,0
1040
CLS
2000
REM INTRODUCTION
2010
L = 12
\
2020
GOSUB
18000
2030
PRINT
■•
FACTORS"
2040
GOSUB
18000
2050
D = lOOO
2060
GOSUB
19000
2070
GOSUB
18000
2080
PRINT
"WHAT
IS YOUR NAME?"
2090
GOSUB
18000
2100
INPUT
NA«
21 lO
GOSUB
18000
2120
PRINT
"I'M HAPPY TO MEET YOU, ";NA*;"."
2130
GOSUB
18000
2140
GOSUB
19000
2150
GOSUB
18000
2160
PRINT
"THIS
IS A GAME OF FACTORS. BEFORE WE"
2170
PRINT
"GO VERY FAR, I'D BETTER CHECK TO MAKE"
2180
PRINT
"SURE
YOU KNOW JUST WHAT FACTORS ARE!"
2190
PRINT
2200
PRINT
"WF«T
NUMBER IS NOT A FACTOR OF 12?"
2210
PRINT
2220
PRINT
■■
1"
2230
PRINT
tt
3"
2240
PRINT
It
4"
2250
PRINT
II
6"
2260
PRINT
tl
8"
2270
PRINT
•I
12"
2280
L = 4
2290
GOSUB
18000
2300
INPUT
SA
2310
IF SA
= 8 THEN 2730
2320
GOSUB
18000
2330
PRINT
" 1, 3, 4, 6, 8, 12"
2340
PRINT
2350
PRINT
"THE NUMBER '8' IS THE ONLY NUMBER LISTED
2360
PRINT
"WHICH IS NOT A FACTOR OF 12!"
180
2370
2380
2390
2400
2410
2420
2430
2440
2450
2AhO
2470
2480
2490
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2&30
2640
26SO
2660
2670
2680
2690
2700
27 lO
2720
2730
2740
2750
2760
2770
2780
2790
2800
3000
3010
3020
3030
3040
3050
30&0
3070
3oao
3090
3 too
31 lO
"IT IS THE ONLY NUMBER IN THE SET WHICH*
"HAS A REMAINDER WHEN DIVIDED INTO"
"THE NUMBER ' 12. ' ALL OF THE OTHER"
"NUMBERS IN THE SET DIVIDE INTO 12"
"EVENLY. "
"ONE NUMBER IS A FACTO? C»=^ ANOTHER"
"NUMBER IF IT DIVIDES INTO THE NUMBER"
"EVENLY. "
17000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
60SUB
L = 12
GOSUB 18000
PRINT "LET'S TRY ONE MORE."
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 6
GOSUB
INPUT
IF SA
PRINT
PRINT
PRINT
PRINT
GOSUB
L = 12
GOSUB 18000
GOTO 2200
L = 12
GOSUB 18000
PRINT "VERY GOOD, ";NA«;"!
PRINT "READY FOR THE GAME!"
GOSUB 18000
D = 2500
GOSUB 19000
GOSUB 18000
REM INSTRUCTIONS
L = 12
GOSUB 18000
THIS GAME IS DIFFICULT TO EXPLAIN,
BUT YOU WILL CATCH ON QUICKLY!"
"WHICH OF THE FOLLOWING IS NOT A FACTOR'
"OF THE NUMBER 10?"
1"
2"
3"
5"
10"
18000
SA
= 3 THEN 2730
"THE NUMBER '3' IS THE ONLY NUMBER WHICH'
"DOES NOT DIVIDE INTO lO EVENLY!"
"I THINK WE BETTER BACK UP A BIT, ";NA«
17000
I THINK YOU ARE-
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
"I WILL GIVE YOU A SET CM=^ NUMBERS,
"LIKE THIS: "
lO'
■WHEN YOU PICK A NUMBER,
181
•LIKE ' 10, ' YOU"
•6ET TO ADD IT TO YOUR SCORE.
"BUT "
"I GET TO ADD ITS REMAINING FACTORS"
"(5, 2, AND 1) TO MY SCORE!"
"NOW THE LIST WILL BE MISSING ALL THOSE"
"NUMBERS!"
8
"AND WE START AGAIN!"
3120 PRINT
3130 PRINT
3140 L = 5
3150 GOSUB 18000
3160 GOSUB 17000
3170 L = 12
3 ISO GOSUB 18000
3190 PRINT
3200 PRINT
3210 PRINT
3220 PRINT
3230 PRINT
3240 PRINT
3250 PRINT
3260 PRINT
3270 PRINT
3280 PRINT
3290 PRINT
3300 PRINT
3310 PRINT
3320 PRINT
3330 PRINT
3340 PRINT
3350 PRINT
3360 PRINT
3370 PRINT
3380 GOSUB
3390 I=0
3400 PRINT
3410 PRINT
OO)?"
3420
3430
3440 PRINT
3450 PRINT
3460 FOR I
3470 FA(I)
3480 NEXT I
4000 REM START OF MAIN PROGRAM
4010 PRINT
4020 PRINT "HERE IS THE LIST OF NUMBERS:"
4030 PRINT
4040 FOR I = 1 TO MX
4050 IF FA(I) = O THEN PRINT " » ";
4060 IF FA(I) <> O THEN PRINT FA<I);
4070 NEXT I
4080 PRINT
5000 REM INPUT NUMBER
5010 PRINT
5020 PRINT "PICK A NUMBER."
INPUT N
IF N > MX THEN 5070
IF N < 1 THEN 5070
IF FA(N) = N THEN 6000
5070 PRINT
5080 PRINT "THAT NUMBER ISN'T IN THE LIST!"
"IF YOU PICK A NUMBER WHICH HAS NO "
"FACTORS LEFT IN THE LIST, I GET IT!"
"ALSO, I GET ALL THE NUMBERS LEFT OVER"
"WHEN ALL THE FACTORS ARE GONE!"
"READY?'
17000
■WHAT IS THE LARGEST NUMBER YOU WANT (LESS THAN 1
INPUT MX
IF MX > lOO THEN 3410
"THE HIGHEST NUMBER WILL BE
= 1 TO MX
= I
;MXi
5030
5040
5050
5060
182
5090 PRINT "TRY AGAIN!"
5100 GOTO 5030
6000 REM FIND FACTORS
6010 J = O
6020 FOR I = 2 TO N
6030 F = N / I
6040 IF F < > INT (F) THEN 61 lO
6050 IF FA(F) = O THEN 6110
6060 PRINT
6070 PRINT "I GET ";F;"!"
6080 CT = CT + F
6090 FA(F) = O
6100 GOTO 6120
6110 J = J + 1
6120 NEXT I
6130 IF J = N - 1 THEN 6170
6140 SS = SS + N
61SO FA(N) = O
6160 GOTO 7000
6170 J = O
61QO CT = CT + N
6190 FA(N) = O
6200 PRINT
6210 PRINT "I GET ";N;"! IT HAD NO FACTORS!"
6220 PRINT
7000 REM CHECK REM. #'S FOR FACTORS
7010 FOR I = 1 TO MX
7020 J = MX - I + 1
7030 FOR K = 2 TO J
7040 F = J / K
7050 IF F < > INT <F) THEN 7130
7060 IF FA(F) = O THEN 7130
7070 PRINT
70Q0 PRINT "YOUR SCORE IS: ";SS
7090 PRINT
7100 PRINT "MY SCORE IS: ";CT
7110 PRINT
7120 GOTO 4000
7130 NEXT K
7140 NEXT I
7150 PRINT
8000 REM NO FACTORS LEFT
8010 FOR I = 1 TO MX
8020 IF FA(I) = O THEN 8070
8030 PRINT
8040 PRINT "I GET ";FA<I)"!"
8050 CT = CT + FA(I)
8060 FA(I) = O
8070 NEXT I
8080 PRINT
a090 PRINT
8100 PRINT "YOUR FINAL TOTAL IS: ";SS
81 lO PRINT
8120 PRINT "MY FINAL TOTAL IS: "3CT
8130 PRINT
8140 IF CT > SS THEN PRINT "I WIN, ";NA«;"!"
183
8150 IF SS > CT THEN PRINT "YOU WIN, ";NA*i"!"
8160 IF SS = CT THEN PRINT "IT'S A TIE, ";NA*;"!
8170 END
17000 REM PAUSE
17010 PRINT "PUSH 'RETURN'."
17020 INPUT SA*
17030 RETURN
18000 REM SCROLLING
18010 FOR S = 1 TO L
18020 PRINT
18030 NEXT S
18040 RETURN
19000 REM DELAY
19010 FOR S = 1 TO D
19020 NEXT S
19030 RETURN
TABLE OF VARIABLES
CT - COMPUTER SCORE
&080 6080 6 ISO 6180 7100 8030
80S0 8120 8140 8150 8160
D - DELAY
2050 2780 19010
F - FACTOR
6030 6040 6040 6050 6070 6080
6090 7040 7050 7050 7060
FA(*) - LIST OF NUMBERS
3430 3470 4050 4060 5060 6050
6090 6150 6190 7060 8020 8040
8050 8060
I - COUNTER
3460 3470 3470 3480 4040 4050
4060 4070 4100 6020 6030 6120
7010 7020 7140 8010 8020 8040
8050 8060 8070
J - COUNTER
6010 61 lO 6110 6130 6170 7020
7030 7040
K - COUNTER
7030 7040 7130
L - LINES OF SCROLLING
2010 2280 2490 2610 2700 2730
3010 3140 3170 18010
MX - HIGHEST NUMBER
3420 3430 3450 3460 4040 5040
7010 7020 8010
184
N - COUNTER
5030 5040 5050 5060 50&0 6020
6030 6130 6140 6150 6180 6190
6210
iMA« - NAME
2100 2120 2670 2750 8140 8150
8160
S - COUNTER
18010 18030 19010 19020
SA - STUDENT ANSWER
2300 2310 2630 2640
SA« - STUDENT ANSWER
17020
SS - STUDENT SCORE
6140 6140 7080 8100 8140 8150
8160
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
?JUDY
I'M HAPPY TO MEET YOU, JUDY.
THIS IS A GAME OF FACTORS. BEFORE WE
GO VERY FAR, I'D BETTER CHECK TO MAKE
SURE YOU KNOW JUST WHAT FACTORS ARE!
WHAT NUMBER IS NOT A FACTOR OF 12?
1
3
4
6
8
12
?6
1, 3, 4, 6, 8, 12
185
THE NUMBER '8' IS THE ONLY NUMBER LISTED
WHICH IS NOT A FACTOR OF 12!
IT IS THE ONLY NUMBER IN THE SET WHICH
HAS A REMAINDER WHEN DIVIDED INTO
THE NUMBER '12.' ALL OF THE OTHER
NUMBERS IN THE SET DIVIDE INTO 12
EVENLY.
ONE NUMBER IS A FACTOR OF ANOTHER
NUMBER IF IT DIVIDES INTO THE NUMBER
EVENLY.
PUSH 'RETURN' TO CONTINUE.
LET'S TRY ONE MORE.
WHICH OF THE FOLLOWING IS NOT A FACTOR
OF THE NUMBER lO?
1
2
3
5
10
?3
VERY GOOD, JUDY! I THINK YOU ARE
READY FOR THE GAME!
THIS GAME IS DIFFICULT TO EXPLAIN,
BUT YOU WILL CATCH ON QUICKLY!
I WILL GIVE YOU A SET OF NUMBERS,
LIKE this:
123456789 10
WHEN YOU PICK A NUMBER,
LIKE ' lO, ' YOU
GET TO ADD IT TO YOUR SCORE.
PUSH 'RETURN' TO CONTINUE.
186
BUT
I GET TO ADD ITS REMAINING FACTORS
(5, 2, AND 1) TO MY SCORE!
NOW THE LIST WILL BE MISSING ALL THOSE
NUMBERS !
**34«6789«
AND WE START AGAIN!
IF YOU PICK A NUMBER WHICH HAS NO
FACTORS LEFT IN THE LIST, I GET IT!
ALSO, I GET ALL THE NUMBERS LEFT OVER
WHEN ALL THE FACTORS ARE GONE!
READY?
PUSH 'RETURN' TO CONTINUE.
?
WHAT IS THE LARGEST NUMBER YOU WANT?
?12
THE HIGHEST NUMBER WILL BE 12.
HERE IS THE LIST OF NUMBERS:
123456789 lO 11 12
PICK A NUMBER.
?11
I GET 1 !
YOUR SCORE IS: 11
MY SCORE IS: 1
HERE IS THE LIST OF NUMBERS:
»23456789 10*12
PICK A NUMBER.
?10
I GET 5!
I GET 2!
YOUR SCORE IS: 21
MY SCORE IS: 8
187
HERE IS THE LIST OF NUMBERS:
«*34»67a9«*12
PICK A NUMBER.
?9
I GET 3!
YOUR SCORE IS: 30
MY SCORE IS: 11
HERE IS THE LIST OF NUMBERS:
***4*678*«*12
PICK A NUMBER.
?12
I GET 6!
I GET 4!
I GET 7!
I GET 8!
YOUR FINAL TOTAL IS: 42
MY FINAL TOTAL IS: 36
YOU WIN, JUDY!
188
Math Teacher
PROGRAM DESCRIPTION
This is an excellent program for practicing addition, subtrac-
tion, multiplication, and division on a more difficult scale than
MATH TUTOR. The computer presents math problems that
become more difficult as you answer the problems correctly. If you
answer the questions incorrectly, the computer will adjust its
math problems according to your skill level.
PROGRAM NOTES
1. Compare this program to MATH TUTOR to see how they
differ. Pay close attention to the variable "MX" and see how it
changes.
2. You may want to provide the answer after several tries.
PROGRAM LISTING: BASIC
lOO REM MATH TEACHER BY 6ARY ORWI6
lOOO REM INITIALIZATION
lOlO DIM CH«(10)
1020 DIM NAS(50)
1030 DIM RE«(10)
1040 DIM SA«(20}
1050 REM USE FULL SCREEN
1060 REM CLEAR SCREEN
1070 POKE 82,0
1080 PRINT
2000 REM INTRODUCTION
2010 PRINT
189
190
2020 PRINT "»»»«»**«»*»»»»*«»*»**»♦»♦»****»»*»♦****»'
2030 PRINT
2040 PRINT " MATH TEACHER"
2050 PRINT
2060 PRINT "****************************************'
2070 FOR T=l TO 1000
2080 NEXT T
2090 PRINT "WHAT IS YOUR NAME";
2100 INPUT NA«
21 lO PRINT
2120 PRINT
2130 PRINT "I AM HAPPY TO MEET YOU, ";NA«J"."
2140 PRINT "WE ARE GOING TO PRACTICE SOME"
2150 PRINT "MATH PROBLEMS. "
2160 REM OPERATING PARAMETERS
2170 PRINT
2180 PRINT
2190 PRINT "WOULD YOU LIKE TO PRACTICE"
2200 PRINT "1. ADDITION"
2210 PRINT "2. SUBTRACTION"
2220 PRINT "3. MULTIPLICATION"
2230 PRINT "4. DIVISION"
2240 PRINT
2250 PRINT "(TYPE IN THE NUMBER YOU WANT)"
2260 INPUT CH«
2270 IF CH*="1" THEN 2350
2280 IF CH»="2" THEN 2350
2290 IF CH*="3" THEN 2350
2300 IF CH*="4" THEN 2350
2310 PRINT
2320 PRINT "PLEASE PAY ATTENTION, ";NA*
2330 PRINT "TYPE IN ONLY A 1,2,3, OR 4!"
2340 GOTO 2200
2350 PRINT
23&0 PRINT "HOW MANY PROBLEMS DO YOU"
2370 PRINT "WANT, ";NA«;
2380 INPUT NU
2390 PRINT
2400 PRINT "VERY GOOD, ";h«J5" IT WILL BE!"
2410 PRINT
2420 PRINT "DO YOU KNOW WHAT LEVEL YOU WANT TO"
2430 PRINT "START AT (YES OR NO)?"
2440 INPUT SAO
2450 IF SA«="YES" THEN 2510
2460 PRINT "OK, I WILL START OUT EASY AND GET"
2470 PRINT "HARDER AS WE GO."
2480 MX=10
2490 PRINT
2500 GOTO 2540
25 lO PRINT "WHAT LEVEL DO YOU WANT TO START AT?"
2520 INPUT MX
2530 PRINT "OK, ";MX;" IT WILL BE!"
2540 IF CH«="4" THEN 2680
2550 PRINT
2560 PRINT "I AM NOW READY TO START!"
2570 PRINT
2580 FOR T=l TO 200
2590 NEXT T
2600 PRINT "HERE WE GO!!"
2610 FOR T=l TO 200
2620 NEXT T
2630 PRINT
2640 PRINT
2650 PRINT
2660 PRINT
2670 GOTO 4000
2680 PRINT
2690 PRINT "DO YOU WANT DIVISION PROBLEHS"
2700 PRINT "WITH REMAINDERS (YES OR NO)";
27 lO INPUT RE*
2720 IF RE«="YES" THEN 2780
2730 IF RE»="NO" THEN 2780
2740 PRINT
2750 PRINT "JUST TYPE A 'YES' OR 'NO' PLEASE"
2760 PRINT
2770 GOTO 2680
2780 GOTO 2S50
4000 REM rMIN PROGRAM
4010 IF CH*="1" THEH 4730
4020 IF CH*="2" THEN 4570
4030 IF CH*="3" THEN 4470
4040 IF RE1i="YES" THEN 4220
40S0 REM DIVISION WITHOUT REMAINDER
4060 GOSUB lOOOO
4070 NP=1
40a0 IF A<B THEN 41 lO
4090 C=A/B
4100 GOTO 4150
41 lO D=B
4120 B=A
4130 A=D
4140 GOTO 4090
4150 IF C-INT(C)>0 THEH 4060
4160 PRINT a;" DIVIDED BY ";B;" EQUALS";
4170 INPUT SA
4180 GOSUB llOOO
4190 GOSUB 12000
4200 GOSUB 15000
4210 GOTO 4050
4220 REM DIVISION WITH REMAINDER
4230 GOSUB lOOOO
4240 NP=1
4250 IF A<B THEN 4290
4260 C=INT(A/B)
4270 RE=A-(C»B)
4280 GOTO 4330
4290 D=B
4300 B-A
4310 A=D
4320 GOTO 4260
4330 PRINT
4340 PRINT Af" DIVIDED BY ";B;" EQUALS?"
43SO PRINT "WHAT IS THE UMOLE NUMBER";
4360 INPUT SA
191
4370
GOSUB llOOO
4380
60SUB 12000
4390
PRINT "AND WHAT IS THE REMAINDER?
4400
PRINT "TYPE IN IF THERE IS NOhE
4410
INPUT SA
4420
C=RE
4430
(%)SUB llOOO
4440
GOSUB 12000
4450
GOSUB 15000
4460
GOTO 4220
4470
REM MULTIPLICATION
4480
GOSUB 10000
4490
NP=1
4500
C-A«B
4510
PRINT A;" TIMES "JB;" EQUALS";
4520
INPUT SA
4530
GOSUB 11000
4540
GOSUB 12000
4550
GOSUB 15000
4560
GOTO 4470
4570
REM SUBTRACTION
4580
GOSUB lOOOO
4590
NP=1
4&00
IF A<B THEN 4630
4A10
C=A-B
4620
GOTO 4670
4630
D=B
4640
B-A
46SO
A=D
4660
GOTO 46 lO
4670
PRINT A;" MINUS "|B;" EQUALS";
4680
INPUT SA
4690
GOSUB llOOO
4700
GOSUB 12000
4710
GOSUB ISOOO
4720 GOTO 4570
4730 REM ADDITION
4740 GOSUB 10000
4750 NP=1
4760 C=A+B
4770 PRINT
4780 INPUT
4790 GOSUB
4800 GOSUB
4810 GOSUB
192
a;
SA
llOOO
12000
15000
4820 GOTO 4730
lOOOO REM RANDOMIZATION
lOOlO A=INT(MX*RND(0))+1
10020 BsINT(MX*RND(0>>-i-l
10030 RETURN
llOOO REM JUDGE ANSWER
IIOIO IF SA=C THEN 11090
11020 GOSUB 14000
11030 TR=TR+1
11040 IF TR=3 THEN 16000
11050 PRINT
11060 PRINT "TRY AGAIN!"
PLUS ";b;'' EQUALS";
11070
INPUT SA
11080
BOTO IIOIO
11090
HT=1
moo
RETURN
12000
REM REWARDS
12010
IF HT=0 THEN RETURN
12020
MX=MX+10
12030
PRINT
12040
N=INT (5»RND (0) ) +1
12050
ON N GOTO 12070,12090,
12110,12130,12150
12060
REN REWARDS
12070
PRINT "SREAT!"
12080
RETURN
12090
PRINT "SUPER!"
12100
RETURN
12110
PRINT "FANTASTIC!"
12120
RETURN
12130
PRINT "YOU'RE REALLY GOING NOW, ")NA«
12140
RETURN
12150
PRINT "THAT'S GREAT, "
';na«
12160
RETURN
14000
REM WRONG
14010
PRINT
14020
IF NP=0 THEN 14070
14030
WR=WR+1
14040
NP=0
14050
MX-MX-10
14060
IF MX<1 THEN MX=10
14070
N=INT(S*RND(0))+1
14080
ON N GOTO 14100,14120,
14140,14160,14180
14090
REM WRONGS
14100
PRINT "OOPS!"
14110
RETURN
14120
PRINT "LOOK CLOSER, "J
;NA«
14130
RETURN
14140
PRINT "NO "
14150
RETURN
14160
PRINT "ARE YOU PAYING
ATTENTION, ";NA«
14170
RETURN
14180
PRINT "SORRY!"
14190
RETURN
15000
REM SCORE KEEPING
15010
TL=TL+1
15020
IF TL=NU THEN 20000
15030
RETURN
16000
REM GIVE ANSWER
16010
HT=0
16020
TR=0
16030
PRINT "THE CORRECT ANSWER IS "iC
16040
PRINT "LET'S TRY ANOTHER!"
16050
RETURN
20000
REM CLOSING
20010
PRINT
20020
PRINT "THAT'S ALL!"
20030
PRINT
20040
PRINT "I HOPE YOU HAD
FUN, ";na»
20050
PRINT
193
20060 PRINT
20070 PRINT
20O80 PRINT "YOU HAD ";NU-WR;" OUT OF "
20090 PRINT NU;" PROBLEMS CORRECT!"
20100 PRINT "YOU FINISHED AT LEVEL ";MX;"!"
20110 END
TABLE OF VARIABLES
CH«
lOlO 2260 2270 2280 2290 2300
2540 4010 4020 4030
NA«
1020 2100 2130 2320 2370 12130
12150 14120 14160 20040
RE«
1030 2710 2720 2730 4040
SA«
1040 2440 2450
2070 2080 2580 2590 2610 2620
NU
2380 2400 15020 20080 20090
MX
2480 2520 2530 lOOlO 10020 12020
12020 14050 14050 14060 14060 20100
NP
4070 4240
14040
4490 4590 4750 14020
4080 4090 4120 4130
4260 4270 4300 4310
4510 4600 46 lO 4640
4760 4770 10010
4160 4250
4340 4500
4650 4670
B
4080 4090 4110 4120 4160 4250
4260 4270 4290 4300 4340 4500
45 lO 4600 4610 4630 4640 4670
4760 4770 10020
4090 4150 4150 4260 4270 4420
4500 4610 4760 IIOIO 16030
194
D
4110 4130 4290 4310 4630 4650
SA
4170 4360 4410 4520 4680 4780
11010 11070
RE
4270 4420
TR
11030 11030 11040 16020
HT
11090 12010 16010
N
12040 12050 14070 14080
MR
14030 14030 20080
TL
15010 15010 15020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM MATH TEACI^R BY GARY ORWIG
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZE
lOlO REM USE FLK.L SCREEN
1020 POKE 82, O
1030 CLS
2000 REM INTRODUCTION
2010 PRINT
2020 PRINT "*'K-«'*««'»«**'»«*'ll-**-l(-**'K'«-«'N-'»»*'N-**«-**«'K-«-*'il"N"»*"
2030 PRINT
2040 PRINT ■■ MATH TEACHER"
2050 PRINT
2060 PRINT "*«*'it'*'ii-««***«-«*«-««'ii"ii"K-«'»«'N"ii"ii-*«'ii-«*'N-«««««'if"ii'«"
2070 FOR T = 1 TO lOOO
2080 NEXT T
2090 PRINT "WHAT IS YOUR NAME";
2100 INPUT NA«
21 lO PRINT
2120 PRINT
2130 PRINT "I AM HAPPY TO MEET YOU, ";NA»;"."
2140 PRINT "WE ARE GOING TO PRACTICE SOME"
2150 PRINT "MATH PROBLEMS."
2160 REM OPERATING PARAMETERS
2170 PRINT
2180 PRINT
195
196
2190
PRINT
"WOULD YOU LIKE TO PRACTICE
2200
PRINT
"1. ADDITION"
2210
PRINT
"2. SUBTRACTION"
2220
PRINT
"3. MULTIPLICATION"
2230
PRINT
"4. DIVISION"
2240
PRINT
2250
PRINT
"(TYPE IN THE NUMBER YOU WANT)"
22&0
INPUT
CH*
2270
IF CH*
= "1" THEN 2350
2280
IF CH«
= "2" THEN 2350
2290
IF CH«
= "3" THEN 2350
2300
IF CH«
= "4" THEN 2350
2310
PRINT
2320
PRINT
"PLEASE PAY ATTENTION, "NA*
2330
PRINT
"TYPE IN ONLY A 1,2,3, OR 4!"
2340
GOTO 2200
2350
PRINT
2360
PRINT
"HOW MANY PROBLEMS DO YOU"
2370
PRINT
"WANT, ";na«;
2380
INPUT
NU
2390
PRINT
2400
PRINT
"VERY GOOD, ";NU;" it WILL BE!"
2410
PRINT
2420
PRINT
"DO YOU KNOW WHAT LEVFI YOU WANT TO
2430
PRINT
"START AT (YES OR NO)?"
2440
INPUT
SA«
2450
IF SA«
> = "YES" THEN 2510
2460
PRINT
"OK, I WILL START OUT EASY AND GET"
2470
PRINT
"HARDER AS WE 60."
2480
MX = 10
2490
PRINT
2500
SOTO 2540
2510
PRINT
"WHAT LEVEL DO YOU WANT TO START AT
2520
INPUT
MX
2530
PRINT
"OK, ";mx;" it will be!"
2540
IF CH« = "4" THEN 2680
2550
PRINT
2560
PRINT
"I AM NOW READY TO START!"
2570
PRINT
2580
FOR T
= 1 TO 500
2590
NEXT T
2600
PRINT
"HERE WE 60! !"
2610
FOR T
= 1 TO 500
2620
NEXT T
2630
PRINT
2640
PRINT
2650
PRINT
2660
PRINT
2670
SOTO 4000
2680
PRINT
2690
PRINT
"DO YOU WANT DIVISION PROBLEMS"
2700
PRINT
"WITH REMAINDERS (YES OR NO)";
2710
INPUT
RE«
2720
IF RE« = "YES" THEN 2780
2730
IF RE* = "NO" THEN 2780
2740
PRINT
2750
PRINT
"JUST TYPE A 'YES' OR 'NO' PLEASE"
27&0 PRINT
2770 60T0 2680
2780 GOTO 2550
4000 REM MAIN PROGRAM
4010 IF CH* = "1" THEN 4730
4020 IF CH* = "2" THEN 4570
4030 IF CH* = "3" THEN 4470
4040 IF RE* = "YES" THEN 4220
4050 REM DIVISION WITHOUT REMAINDER
4060 GOSUB lOOOO
4070 NP = 1
4080 IF A < B THEN 4110
4090 C = A / B
4100 GOTO 4150
4110 D = B
4120 B = A
4130 A = D
4140 GOTO 4090
4150 IF C - INT <C) > O THEN 4060
4160 PRINT A;" DIVIDED BY ";B;" EQUALS'
4170 INPUT SA
4180 GOSUB llOOO
4190 GOSUB 12000
4200 GOSUB 15000
42 lO GOTO 4050
4220 REM DIVISION WITH REMAINDER
4230 GOSUB lOOOO
4240
NP =
1
4250
IF A
< B THEN
42
4260
C =
INT (A /
B)
4270
RE =
A - (C *
B)
4280 GOTO 4330
4290 D = B
4300 B = A
4310 A = D
4320 GOTO 4260
4330 PRINT
4340 PRINT A;" DIVIDED BY ••;B;" EQUALS?'
4350 PRINT "WHAT IS THE WHOLE NUMBER";
4360 INPUT SA
4370 GOSUB llOOO
4380 GOSUB 12000
4390 PRINT "AND WHAT IS THE REMAINDER?"
4400 PRINT "TYPE IN O IF THERE IS NONE.'
44 lO INPUT SA
4420 C = RE
4430 GOSUB llOOO
4440 GOSUB 12000
4450 GOSUB 15000
4460 GOTO 4220
4470 REM MULTIPLICATION
4480 GOSUB lOOOO
4490 NP = 1
4500 C = A ♦ B
4510 PRINT a;" TIMES ";B;" EQUALS";
4520 INPUT SA
4530 GOSUB llOOO
197
n I Nus " ; B ; " equals " ;
4540 GOSUB 12000
4550 GOSUB 15000
4560 GOTO 4470
4570 REM SUBTRACTION
4580 GOSUB lOOOO
4590 NP = 1
4600 IF A < B THEN 4630
4610 C = A - B
4620 GOTO 4670
4630 D = B
4640 B = A
4650 A » D
4660 GOTO 4610
4670 PRINT A;
4680 INPUT SA
4690 GOSUB 11000
12000
15000
GOTO 4370
REM ADDITION
GOSUB lOOOO
NP = 1
C = A + B
PRINT A;" PLUS ";B;" EQUALS";
INPUT SA
GOSUB llOOO
GOSUB 12000
GOSUB 15000
GOTO 4730
REM RANDOM I Z AT I ON
A = RND<MX)
B = RND<MX)
RETURN
REM JUDGE ANSWER
IF SA = C THEN 11090
GOSUB 14000
TR = TR + 1
IF TR = 3 THEN 16000
PRINT
PRINT "TRY AGAIN!"
INPUT SA
GOTO 11010
HT = 1
RETURN
REM REWARDS
IF HT = O THEN RETURN
MX = MX + 10
PRINT
N = RND(5)
ON N GOTO 12070,12090,12110,12130,12150
REM REWARDS
PRINT "GREAT!"
RETlfl^N
PRINT "SUPER!"
RETURN
PRINT "FANTASTIC!"
INPUT
GOSUB
4700 GOSUB
4710 GOSUB
4720
4730
4740
4750
4760
4770
4780
4790
4800
4810
4820
lOOOO
lOOlO
10020
10030
llOOO
IIOIO
11020
11030
11040
11050
11060
11070
11080
11090
moo
12000
12010
12020
12030
12040
12050
12060
12O70
12080
12090
12100
12110
198
12120 RETURN
12130 PRINT "YOU'RE REALLY GOING NOW, ";NA«
12140 RETURN
12150 PRINT "THAT'S GREAT, ";NA*
12160 RETURN
14000 REM WRONG
14010 PRINT
14020 IF NP = O THEN 14070
14030 WR = WR + 1
14040 NP = O
14050 MX = MX - 10
14060 IF MX < 1 THEN MX = lO
14070 N = RND(5)
14080 €H N GOTO 14100,14120,14140,14160,14180
14090 REM WRONGS
14100 PRINT "OOPS!"
14110 RETLWN
14120 PRINT "LOOK CLOSER, ";NA*
14130 RETURN
14140 PRINT "NO "
14150 RETURN
14160 PRINT "ARE YOU PAYING ATTENTION, ";NA*
14170 RETURN
14180 PRINT "SORRY!"
14190 RETURN
15000 REM SCORE KEEPING
15010 TL = TL + 1
15020 IF TL = NU THEN 20000
15030 RETURN
16OO0 REM GIVE ANSWER
16010 HT = O
16020 TR = O
16030 PRINT "THE CORRECT ANSWER IS ";C
16040 PRINT "LET'S TRY ANOTHER!"
16050 RETURN
20000 REM CLOSING
20010 PRINT
20020 PRINT "THAT'S ALL!"
20030 PRINT
20040 PRINT "I HOPE YOU HAD FUN, ";NA«
20050 PRINT
20060 PRINT
20070 PRINT
20080 PRINT "YOU HAD ";NU - WR; " OUT OF "
20090 PRINT NU;" PROBLEMS CORRECT!"
20100 PRINT "YOU FINISHED AT LEVEL ";MX;"!"
20110 END
TABLE OF VARIABLES
A - ONE NUMBER
4080 4090 4120 4130 4160 4250
4260 4270 4300 4310 4340 4500
4510 4600 4610 4640 4650 4670
4760 4770 10010
199
B - THE OTHER NUMBER
40BO 4090 4110 4120 4160 4250
4260 4270 4290 4300 4340 4500
45 lO 4600 4610 4630 4640 4670
4760 4770 10020
C - CORRECT ANSWER
4090 4150 4150 4260 4270 4420
4500 4610 4760 IIOIO 16030
CH* - STUDENT CHOICE
2260 2270 2280 2290 2300 2540
4010 4020 4030
D - TRANSFER VARIABLE
4110 4130 4290 4310 4630 4650
HT - HIT
11090 12010 16010
MX - MAXIMUM FOR A AND B
2480 2520 2530 10010 10020
12020 12020 14050 14050 14060
14060 20100
N - RANDOM NUMBER
12040 12050 14070 14080
NA« - NAME
2100 2130 2320 2370 12130 12150
14120 14160 20040
NP - FLAG FOR WRONG ANSWER
4070 4240 4490 4590 4750 14020
14040
NU - NUMBER OF PROBLEMS
2380 2400 15020 20080 20090
RE - REMAINDER
4270 4420
RE« - FLAG FOR DIVISION WITH REMAINDER
2710 2720 2730 4040
SA - STUDENT ANSWER
4170 4360 4410 4520 4680 4780
llOlO 11070
SA* - STUDENT ANSWER
2440 2450
T - DELAY
2070 2080 2580 2590 26 lO 2620
TL - NUMBER OF PROBLEMS WORKED
15010 15010 15020
200
TR - NUMBER OF TRIES
11030 11030 11040 16020
WR - NUMBER WRONG
14030 14030 20080
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME7RANDY
I AM HAPPY TO MEET YOU, RANDY.
WE ARE GOING TO PRACTICE SOME
MATH PROBLEMS.
WOULD YOU LIKE TO PRACTICE:
1. ADDITION
2. SUBTRACTION
3. MULTIPLICATION
4. DIVISION
(TYPE IN THE NUMBER YOU WANT)
?3
HOW MANY PROBLEMS DO YOU
WANT, RANDY75
VERY GOOD, 5 IT WILL BE!
DO YOU KNOW WHAT LEVEL YOU WANT TO
START AT (YES OR NO)?
?NO
OK, I WILL START OUT EASY AND GET
HARDER AS WE GO.
I AM NOW READY TO START!
HERE WE GO ! !
3 TIMES 2 EQUALS?^
SUPER !
9 TIMES 2 EQUALS? 18
GREAT !
3 TIMES 11 EQUALS?33
THAT'S GREAT, RANDY
32 TIMES 20 EQUALS?620
201
OOPS!
TRY AGAIN!
?&40
THAT'S GREAT, RANDY
30 TIMES 17 EQUALS7510
FANTASTIC!
THAT'S ALL!
I HOPE YOU HAD FUN, RANDY
YOU HAD 4 OUT OF
5 PROBLEMS CORRECT!
YOU FINISHED AT LEVEL 50!
202
^asure With the
Metric
Metrics
PROGRAM DESCRIPTION
Understanding the metric system is essential in communi-
cating knowledge among the nations of the world as well as
developing skills to work within the realms of science. In this
program the computer gives you an initial quiz (pre-test) on
metrics and if you get all of the answers correct you don't have to
continue the program. For those of you who don't receive a perfect
score on the pre-test, the computer instructs you on metrics and
then gives you a test at the end of the instruction (a post-test). If
you receive less than a perfect score on the post-test, the computer
will send you back to the part of the instruction that you missed in
the post-test.
PROGRAM NOTES
1. Vary the text and questions to match your needs.
2. Notice Hne 4500. It allows either "1" or "2.5" to be entered as
the correct answer. Consider using A, B, C, or D as the
multiple choice selections.
PROGRAM LISTING: BASIC
100 REM METRICS BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO DIM SA«(10)
1020 REM USE FULL SCREEN
203
204
1030
1040
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
21 90
2200
2210
2220
2230
3000
30 lO
3020
3030
3040
3050
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
METRICS"
19000
18000
"THIS IS A PROGRAM ABOUT THE METRIC"
"SYSTEM. "
"WOULD YOU LIKE TO TAKE A QUIZ TO SEE"
"IF YOU ALREADY KNOW ABOUT THE METRIC"
"SYSTEM (YES OR NO)?"
THEN 2220
LOOK AT THE METRIC SYSTEM!"
POKE 82,0
PRINT
REM INTRODUCTION
L=12
60SUB 18000
PRINT "
60SUB 18000
D=200
GOSUB
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=6
GOSUB 18000
INPUT SA«
IF SA*="YES'
PRINT "LET'S
D=200
GOSUB 19000
GOTO 3000
GOSUB 7000
GOTO 20000
REM GUIDING PROGRAM
GOSUB 4000
GOSUB 5000
GOSUB 6000
GOSUB 7000
GOTO 20000
REM DISTANCE
L=24
18000
"THE BASIC UNIT OF LENGTH IN THE METRIC"
"SYSTEM IS THE 'METER.' AT FIRST THE"
"METER WAS DEFINED AS ONE TEN MILLIONTH"
"THE DISTANCE FROM THE EQUATOR TO THE"
"NORTH POLE. HOWEVER, IT SOON BECfkME"
"EVIDENT THAT THIS DISTANCE IS VERY HARD"
"TO MEASURE EVERY TIhE THE STANDARD"
"NEEDED TO BE CHECKED!"
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=6
GOSUB
GOSUB
L=24
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
"PRESENTLY THE METER IS DEFINED ON THE"
"BASIS OF A VERY ACCURATELY MEASURED"
"WAVELENGTH OF LIGHT. "
18000
17000
18000
"THE METRIC UNITS OF LENGTH lnMICH ARE"
"COMMONLY USED ARE:"
MILLIMETER"
CENTIMETER"
4250
42&0
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4330
4540
4550
4560
4570
4S80
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
4730
4740
4750
4760
4770
4780
4790
4800
5000
METER"
KILOMETER"
'THE MILLIMETER IS
I/IOOO OF A hETER"
I/IO OF A CENTIMETER'
"THE CENTIMETER IS l/lOO OF A METER'
•THE KILOMETER IS lOOO KETERS.
18000
17000
18000
"LET'S TRY A
"PROBLEMS. "
COUPLE OF SIMPLE CONVERSION*
'25 MILLIMETERS EQUALS:"
1. 2.5"
2. .25"
3. 32. "
CENTIMETERS"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=6
60SUB
60SUB
L=24
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=8
GOSUB 18000
INPUT SA
IF SA=2.5 THEN SA=1
ON SA GOTO 4520,4540,4570
GOSUB 12000
GOTO 4600
PRINT "lO MILLIMETERS EQUAL 1 CENTIMETER."
PRINT "25 MILLIMETERS EQUAL ? CENTIMETERS.";
GOTO 4490
GOSUB IIOIO
PRINT
GOTO 44 lO
PRINT "HERE IS ANOTHER PROBLEM."
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=7
GOSUB 18000
INPUT SA
IF SA=520 THEN SA=3
ON SA GOTO 4730,4760,4790
PRINT "1 KILOMETER EQUALS 1000 METERS'
PRINT ".52 KILOMETERS EQUALS ? METERS'
GOTO 4700
GOSUB llOlO
PRINT "THINK ABOUT IT!"
GOTO 4610
GOSUB 12000
RETURN
REM VOLUME
52 KILOMETERS EQUALS:
1.
2.
3.
52 METERS"
760 METERS'
520 METERS'
205
206
5010
5020
5030
5040
50SO
5060
5070
5080
5090
5100
5110
5120
5130
5140
5150
SISO
5170
S180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
5360
5370
5380
5390
5400
54 lO
5420
5430
5440
5450
5460
5470
5480
5490
5500
55 lO
5520
5530
5540
5550
5560
5570
18000
"THE METRIC UNIT FOR VOLUME IS BASED"
"UPON THE METRIC UNIT OF LENGTH."
"IF A CUBE WERE CONSTRUCTED SO THAT IT"
"WAS EXACTLY .1 METERS ON EACH SIDE,"
"IT COULD HOLD ONE LITER OF MATERIAL."
"THE LITER, THEN, IS THE BASIC METRIC"
"UNIT FOR VOLUME- THE LITER IS NOT TCM3"
"DIFFERENT IN SIZE FROM THE QUART."
"IF A CUBE WERE FORMED EXACTLY ONE"
"CENTIMETER ON A SIDE, WE WOULD CALL IT"
"A 'CUBIC CENTIMETER.' THIS VERY SMALL"
"UNIT IS EXACTLY .OOl LITERS, SO WE"
"ALSO CALL IT A 'MILLILITER.'"
"THE TERM 'CUBIC CENTIMETER' OR 'CC'
"THE TERM 'MILLILITER' OR 'ML' BOTH'
"MEAN THE SAME AMOUNT OF VOLUME - "
"ONE ONE THOUSANDTH OF A LITER."
17000
AND"
L=12
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB
L=12
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=9
GOSUB 18000
INPUT SA
IF SA=10 THEN SA==3
ON SA GOTO 5420,5450,5470
GOSUB 12000
PRINT "YOU ARE RIGHT! THEY ARE THE SAME!"
GOTO 5520
GOSUB 11170
GOTO 5290
PRINT
PRINT "YCMJ DID NOT READ VERY CLOSELY!"
PRINT "THERE IS SOMETHING VERY 'UNIQUE'"
PRINT "ABOUT THESE TWO UNITS!"
GOTO 5290
PRINT
PRINT "WHAT IS THE VOLUME OF A BOX (IN LITERS)"
IF IT MEASURES .50 METERS BY .30 METERS"
.20 METERS?"
18000
"HERE ARE
A COUPLE OF QUESTIONS:
"HOW MMMY CUBIC CENTIMETERS ARB IN A
"MILLITER?"
1.
1"
2.
2"
3.
lO"
PRINT
PRINT "BY
PRINT
PRINT "
1. 50 LITERS"
SS80
5590
S600
5610
5620
5630
5640
5650
5660
5670
5680
5690
5700
5710
5720
5730
5740
5750
5760
5770
5780
5790
5800
5810
5820
5830
5840
5850
S860
5870
5880
6000
6010
6020
6030
6040
6050
6060
6070
6080
6090
6100
6110
6120
6130
6140
6150
6160
6170
6180
6190
6200
6210
6220
6230
6240
6250
PRINT " 2. 30 LITERS"
PRINT " 3. 10 LITERS"
L=8
60SUB 18000
INPUT SA
IF SA=:50 THEN 3A=1
IF SA=30 THEN SA«2
IF SA==10 THEN SA=3
ON SA 60TO 5690,5670,5690
60SUB 12000
GOTO 5860
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB
L=12
GOSUB
GOTO 5520
L=12
GOSUB 18000
RETURN
REM MASS
L=12
"REMEMBER THAT A LITER IS DEFINED AS THE"
"VOLUME OF A CUBE . 10 METERS ON EACH"
"SIDE. ALTHOUGH THE TERM FOR .10 METER"
"ISN'T USED VERY MUCH, IT IS CALLED A"
"'DECIMETER.' IF YOU CONVERT THE METER"
"MEASUREMENTS TO DECIMETERS (.5 METERS"
"EQUALS 5. DECIMETERS) AND MULTIPLY ALL"
"THREE TOGETHER, YOU WILL END UP WITH"
"THE VOLUME IN CUBIC DECIMETERS OR"
"WHAT WE CALL LITERS!"
17000
laooo
GOSUB 18000
PRINT "Tl« METRIC UNIT FOR MASS IS THE 'GRAM.'"
PRINT "ORIGINALLY THE GRAM WAS DEFINED AS THE"
PRINT "MASS OF 1 CUBIC CENTIMETER OF WATER"
PRINT "UNDER CONTROLLED CONDITIONS."
PRINT "NOW THERE ARE MORE ACCURATE METHODS FOR"
PRINT "DEFINING THE GRAM."
PRINT
PRINT "SINCE THE GRAM IS A SMALL UNIT OF"
PRINT "MEASURE (A NICKEL HAS A MASS OF ABOUT"
PRINT "5 GRAMS) , A LARGER UNIT IS ALSO USED. "
PRINT "THE 'KILOGRAM' IS lOOO GRAMS."
PRINT
PRINT
GOSUB
PRINT
PRINT
L=6
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
17000
"HERE ARE A COUPLE OF QUESTIONS.
18000
"UNDER CONTROLLED CONDITIONS, WHAT WOLflLD*
"BE THE MASS OF 1 . O LITER OF WATER?"
1. lO GRAMS"
2. lOO GRAMS"
3. lOOO GRAMS"
207
6260
6270
6280
6290
6300
6310
6320
6330
6340
6330
6360
6370
6380
6390
6400
64 lO
6420
6430
6440
6450
6460
6470
6480
6490
6500
6S10
6520
6530
6S40
6550
6560
6570
6580
6590
6600
6610
6620
6630
6640
6650
6660
6670
6680
7000
70 lO
7020
7030
7040
7050
7060
7070
7080
7090
7100
7110
7120
L=8
60SUB 18000
INPUT SA
IF SA=10 THEN SA»1
IF SA^lOO THEN 8A«2
IF SA=1000 THEN SA»3
ON SA SOTO 6330,6330,6430
L=12
18000
"A LITER CONTAINS 1000 CUBIC CENTIMETERS.'
"SINCE A CUBIC CENTIMETER OF WATER HAS A"
"MASS OF 1.0 6RAM, WHAT WOULD BE THE"
"MASS OF 1000 CUBIC CENTIMETERS OF WATER?'
60SUB
PRINT
PRINT
PRINT
PRINT
L=7
60SUB
18000
60SUB 17<X>0
GOTO 6190
60SUB 12000
L=12
60SUB 18000
HOW MANY GRAMS ARE
1. 45.0 "
2. 450"
3. 900"
l.O KILOGRAMS " 1000 GRAMS'
.450 KILOGRAMS - ? GRAMS"
PRINT
PRINT
PRINT
PRINT
L=9
GOSUB 18000
INPUT SA
IF SA-45 THEN SA=1
IF SA=450 THEN SA=2
IF SA=900 THEN SA«3
ON SA GOTO 6570,6640,6660
GOSUB 11170
PRINT
PRINT
PRINT
PRINT
L=6
GOTO 6450
GOSUB 12000
GOTO 6680
GOSUB 11010
GOTO 6440
RETURN
REM POST TEST
L=12
GOSUB 18000
PRINT " QUIZ!"
L=6
GOSUB
PRINT
PRINT
PRINT "
PRINT "
PRINT "
L=8
GOSUB 18000
IN .4SO KILOGRAMS?'
18000
"WHAT
IS THE METRIC UNIT FOR VOLUME?"
1.
2.
3.
METER"
LITER"
GRAM"
208
7130
7140
7150
7160
7170
7180
7190
7200
7210
7220
7230
7240
7250
TZbXt
yz7o
7280
7290
7300
7310
7320
7330
7340
7350
7360
7370
7380
7390
7400
7410
7420
7430
7440
7450
7460
7470
7480
7490
7500
7510
7520
7530
7540
7550
7560
7570
7580
7590
7600
7610
7620
7630
7640
7650
7660
7670
7680
INPUT SA
ON SA GOTO 7150,7170,7150
v=o
SOTO 7180
V=l
L=12
60SUB 18000
PRINT "HOW MANY CENTIMETERS ARE IN 2.0 METERS?"
PRINT
PRINT " 1. 20"
PRINT " 2. 200"
PRINT " 3. 2000"
L=8
60SUB 18000
INPUT SA
IF SA=20 THEN SA=1
IF SA=200 THEN SA=2
IF SA=2000 THEN SA=3
ON SA GOTO 7320,7340,7320
DI=0
60TO 7350
DI=1
L=12
GOSUB 18000
PRINT "2500 GRAMS WOULD BE HOW MANY KILOGRAMS?"
PRINT
PRINT " 1. 2.5"
PRINT " 2. 25"
PRINT " 3. 250"
L=8
GOSUB 18000
INPUT SA
IF SA=2.5 THEN SA=1
IF SA=25 THEN SA=2
IF SA=250 THEN SA*3
ON SA GOTO 7490,7510,7510
MA=1
GOTO 7520
MA=0
REM SUMMARY
IF DI=0 THEN GOTO 7570
IF V=0 THEN GOTO 7620
IF MA=0 THEN GOTO 7670
RETURN
PRINT "WE ARE GOING TO REVIEW DISTANCE."
D=200
GOSUB 19000
GOSUB 4000
GOTO 7540
PRINT "WE ARE GOING TO REVIEW VOLUME."
D=200
GOSUB 19000
GOSUB SOOO
GOTO 7550
PRINT "WE ARE GOING TO REVIEW MASS."
D=200
209
ROUTINES
IN THE METRIC SYSTEM, CONVERSIONS ALWAYS'
ARE SOME POWER OF TEN. FOR EXAMPLE,"
135. CENT I INTERS BECOMES 1.35 INTERS."
"NOTICE HOW THE SAhE DIGITS
"ANSWERS? ONLY THE DECIMAL
"(POWERS OF TEN) CHANGES."
7690 GOSUB 19000
7700 GOSUB 6000
7710 GOTO 7560
llOOO REM CORRECTION
IIOIO PRINT
11020 PRINT
11030 PRINT
11040 PRINT
llOSO PRINT
11060 PRINT
11070 PRINT
llOaO PRINT
11090 PRINT
moo PRINT
llllO PRINT
11120 PRINT
11130 L=8
11140 GOSUB
11150 GOSUB
11160 RETURN
11170 PRINT
11180 PRINT
11190 PRINT
11200 PRINT
11210 PRINT
11220 PRINT
11230 PRINT
11240 PRINT
11250 PRINT
11260 PRINT
11270 PRINT
11280 GOSUB
11290 RETURN
12000 REM REWARDS
12010 L=24
12020 GOSUB
12030 PRINT "VERY GOOD!
12040 L=12
12050 GOSUB
12060 D=200
12070 GOSUB
12080 GOSUB
12090 RETURN
17000 REM PRESS RETURN
17010 PRINT "PRESS 'RETURN'
17020 INPUT SA»
17030 RETURN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETURN
ARE IN BOTH"
POINT"
OI>«LY THE DECIMAL"
"IN A METRIC CONVERSION,
"CHANGES POSITION!"
18000
17000
"IN THE METRIC SYSTEM, ANY UNIT WILL"
"ALWAYS BE SOME POWER OF TEN BIGGER OR"
"SMALLER THAN ANOTHER UNIT. "
"(.001, .Ol, .1, 1, lO, lOO, lOOO)"
"BOTH UNITS MUST MEASURE THE S«1E"
"PHYSICAL DIMENSION, THOUGH."
"(DISTANCE, VOLUME, MASS, ETC.)"
17000
18000
"VERY
18000
19000
18000
TO CONTINUE.
210
20000 REM CLOSING
20010 L=12
20020 60SUB 18000
20030 PRINT "WE ARE FINISHED!"
20040 PRINT "I HOPE YOU HAD A OOOD TIME!"
200S0 60SUB 18000
20060 END
TABLE OF VARIABLES
SA«
lOlO
2160
2170
17020
L
2010
2140
4010
4150
4180
4340
4370
4470
4680
5010
5260
5370
5600
5830
5860
6010
6190
6260
6330
6390
6440
6500
6620
7010
7040
7110
7180
7250
7350
7420
11130 12010 12040 18010 20010
SA
2050
2190
7580
7630
7680
1206<
19010
1
4490
4500
4500
4510
4700
4710
4710
4720
5390
5400
5400
5410
5620
5630
5630
5640
5640
5650
56SO
5660
6280
6290
6290
6300
6300
631
6310
6320
6520
6530
6530
6540
6540
6550
6550
6560
7130
7140
7270
7280
7280
7290
7290
7300
7300
7310
7440
7450
7450
7460
7460
7470
7470
7480
V
7150 7170 7540
DI
7320 7340 7530
MA
7490 7510 7550
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM METRICS BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO REM USE FULL SCREEN
211
212
1020
1030
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
3000
3010
3020
3030
3040
3050
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
POKE 82,0
CLS
REM INTRODUCTION
L = 12
GOSUB 18000
PRINT " METRICS"
GOSUB 18000
D = 1000
GOSUB 19000
GOSUB 18000
"THIS IS A PROGRAM ABOUT THE METRIC"
"SYSTEM. "
WOULD YOU LIKE TO TAKE A QUIZ TO SEE<'
IF YOU ALREADY KNOW ABOUT THE METRIC"
SYSTEM (YES OR NO)?"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 6
GOSUB 18000
INPUT SA*
IF SA* = "YES" THEN 2220
PRINT "LET'S LOOK AT THE METRIC SYSTEM!"
D = lOOO
GOSUB 19000
GOTO 3000
GOSUB 7000
GOTO 20000
REM GUIDING PROGRfWI
GOSUB 4000
GOSUB SOOO
GOSUB 6000
GOSUB 7000
GOTO 20000
REM DISTANCE
L = 24
GOSUB 18000
"THE BASIC UNIT OF LENGTH IN THE METRIC"
"SYSTEM IS THE 'METER,' AT FIRST THE"
"METER WAS DEFINED AS ONE TEN MILLIONTH"
"THE DISTANCE FROM THE EQUATOR TO THE"
"NORTH POLE. HOWEVER, IT SOON BECAME"
"EVIDENT THAT THIS DISTANCE IS VERY HARD'
"TO MEASURE EVERY TIME THE STANDARD"
"NEEDED TO BE CHECKED ! "
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 6
GOSUB
GOSUB
L = 24
GOSUB 18000
"PRESENTLY THE METER IS DEFINED ON THE"
"BASIS OF A VERY ACCURATELY MEASURED"
"WAVELENGTH OF LIGHT."
18000
17000
PRINT
PRINT
PRINT
PRINT
PRINT
"THE METRIC UNITS OF LENGTH WHICH ARE"
"COMMONLY USED ARE:"
MILLIMETER"
CENTIMETER"
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
4560
4570
4580
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
4730
4740
4750
4760
4770
4780
4790
4800
5000
METER"
KILOMETER'
I/IOOO OF A METER"
I/IO OF A CENTIMETER"
THE CENTIMETER IS l/lOO OF A METER'
PRINT
PRINT
PRINT
PRINT "THE MILLIMETER IS
PRINT "
PRINT
PRINT
PRINT
PRINT
L = 6
60SUB 18000
60SUB 17000
L = 24
60SUB 18000
'THE KILOMETER IS lOOO r«TERS.
"LET'S TRY
"PROBLEMS. ■
"25 MILLIMETERS EQUALS:"
1. 2.5"
2. .25"
3. 32."
CENTIMETERS"
18000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 8
eosuB
INPUT SA
IF SA = 2.5 THEN SA = 1
ON SA GOTO 4520,4540,4570
60SUB 12000
GOTO 4600
PRINT "10 MILLIMETERS EQUAL
PRINT "25 MILLIMETERS EQUAL
GOTO 4490
GOSUB IIOIO
PRINT
GOTO 44 lO
PRINT "HERE IS ANOTHER PROBLEM
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 7
GOSUB
INPUT
A COUPLE OF SIMPLE CONVERSION"
1
•7
CENTir«TER. •
CENTIMETERS.
,52 KILOMETERS EQUALS:
1. 52 METERS
2. 760 METERS
3. 520 METERS
18000
SA
IF SA = 520 THEN SA = 3
ON SA GOTO 4730,4760,4790
PRINT "1 KILOMETER EQUALS lOOO METERS"
PRINT ".52 KILOMETERS EQUALS ? METERS'
GOTO 4700
GOSUB llOlO
PRINT "THINK ABOUT IT!"
GOTO 4610
GOSUB 12000
RETURN
REM VOLUME
213
214
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
S140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5240
5250
5260
5270
5280
5290
5300
5310
5320
5330
5340
5350
5360
5370
5380
5390
5400
5410
5420
5430
5440
5450
5460
5470
5480
5490
5500
5510
5520
5530
5540
5550
S560
5570
L = 12
GOSUB 18000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
"THE METRIC UNIT FOR VOLUME IS BASED"
"UPON THE METRIC UNIT OF LENGTH."
"IF A CUBE WERE CONSTRUCTED SO THAT IT"
"WAS EXACTLY .1 METERS ON EACH SIDE,"
"IT COULD HOLD ONE LITER OF MATERIAL."
"THE LITER, THEN, IS THE BASIC METRIC"
"UNIT FOR VOLUME. THE LITER IS NOT TOO"
"DIFFERENT IN SIZE FROM THE QUART."
"IF A CUBE WERE FORMED EXACTLY ONE"
"CENTIMETER ON A SIDE, WE WOULD CMJL IT"
"A 'CUBIC CENTIMETER.' THIS VERY SMALL"
"UNIT IS EXACTLY .001 LITERS, SO WE"
"ALSO CALL IT A 'MILLILITER.'"
"THE TERM 'CUBIC CENTIMETER' OR 'CC AND"
"THE TERM 'MILLILITER' OR 'ML' BOTH"
"MEAN THE SAME AMOUNT OF VOLUME - "
PRINT "ONE ONE THOUSANDTH OF A LITER."
PRINT
GOSUB 17000
L = 12
GOSUB 18000
PRINT "HERE ARE A COUPLE OF QUESTIONS:"
PRINT
PRINT
PRINT "HOW MANY CUBIC CENTIMETERS ARE IN A "
PRINT "MILLITER?"
PRINT
PRINT " 1. 1"
PRINT " 2. 2"
PRINT " 3. 10"
L = 9
GOSUB 18000
INPUT SA
IF SA = lO THEN SA = 3
ON SA GOTO 5420,5450,5470
GOSUB 12000
PRINT "YOU ARE RIGHT! THEY ARE THE SAME!"
GOTO 5520
GOSUB 11170
GOTO 5290
PRINT
PRINT "YOU DID NOT READ VERY CLOSELY!"
PRINT "THERE IS SOMETHING VERY 'UNIQUE'"
PRINT "ABOUT THESE TWO UNITS!"
GOTO 5290
PRINT
"WHAT IS THE VOLUME OF A BOX (IN LITERS)'
"IF IT MEASURES .50 METERS BY .30 METERS'
"BY .20 METERS?"
PRINT
PRINT
PRINT
PRINT
PRINT
50 LITERS"
5S80
5590
S600
5610
5620
5630
5640
5650
5660
5670
5680
5690
5700
5710
5720
5730
5740
5750
5760
5770
5780
5790
5800
5810
5820
5830
5840
5850
5860
5870
S880
6000
6010
6020
6030
6040
6050
6060
6070
6080
6090
6100
6110
6120
6130
6140
6150
6160
6170
6180
6190
6200
6210
6220
6230
6240
6250
30 LITERS"
10 LITERS"
PRINT " 2.
PRINT " 3.
L = a
GOSUB 18000
INPUT SA
IF SA = 50 THEN SA = 1
IF SA = 30 THEN SA = 2
IF SA = lO THEN SA = 3
ON SA GOTO 5690,5670,5690
GOSUB 12000
GOTO 5860
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB
L = 12
GOSUB 18000
GOTO 5520
L = 12
GOSUB 18000
RETURN
REN MASS
L = 12
GOSUB 18000
"REMEMBER THAT A LITER IS DEFINED AS THE"
"VOLUME OF A CUBE . lO METERS ON EACH"
"SIDE. ALTHOUGH THE TERM FOR .10 METER"
"ISN'T USED VERY MUCH, IT IS CALLED A"
"'DECIMETER.' IF YOU CONVERT THE METER"
"MEASUREMENTS TO DECIMETERS (.5 METERS"
"EQUALS 5. DECIMETERS) AND MULTIPLY ALL"
"THREE TOGETHER, YOU WILL END UP WITH"
"THE VOLUME IN CUBIC DECIMETERS OR"
"WHAT WE CALL LITERS!"
17000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB
PRINT
PRINT
L = 6
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
"THE METRIC LBMIT FOR MASS IS THE 'GRAM.'"
"ORIGINALLY THE GRAM WAS DEFINED AS THE"
"MASS OF 1 CUBIC CENTIMETER OF WATER"
"UNDER CONTROLLED CONDITIONS."
"NOW THERE ARE MORE ACCURATE METHODS FOR"
"DEFINING THE GRAM."
"SINCE THE GRAM IS A SMALL UNIT OF"
"MEASURE <A NICKEL HAS A MASS OF ABOUT"
"5 GRAMS) , A LARGER UNIT IS ALSO USED. "
"THE 'KILOGRAM' IS 1000 GRAMS."
17000
"HERE ARE
A COUPLE OF QUESTIONS.
18000
"UNDER CONTROLLED CONDITIONS, WHAT WOULD'
"BE THE MASS OF l.O LITER OF WATER?"
1. lO GRAMS"
2. 100 GRAMS"
3. lOOO GRAMS"
215
216
6260
6270
6280
6290
6300
6310
6320
6330
6340
6350
6360
6370
6380
6390
6400
6410
6420
6430
6440
6450
6460
6470
6480
6490
6500
6510
6520
6530
6540
6550
6560
6570
6580
6590
6600
6610
6620
6630
6640
6650
6660
6670
6680
7000
7010
7020
7030
7040
7050
7060
7070
7080
7090
7100
7110
7120
7130
L = 8
GOSUB 18000
INPUT SA
IF SA = 10 THEN SA = 1
IF SA = lOO THEN SA = 2
IF SA = lOOO THEN SA = 3
ON SA GOTO 6330,6330,6430
L = 12
GOSUB 18000
A LITER CONTAINS
SINCE A
MASS OF
MASS OF
PRINT
PRINT
PRINT
PRINT
L = 7
GOSUB
lOOO CUBIC CENTIMETERS."
CUBIC CENTIMETER OF WATER HAS A"
1.0 GRAM, WHAT WOULD BE THE"
lOOO CUBIC CENTIMETERS OF WATER?"
18000
GOSUB 17000
GOTO 6190
GOSUB 12000
L = 12
GOSUB 18000
'HOW MANY GRAMS ARE
1. 45.0 "
2. 450"
3. 900"
PRINT
PRINT
PRINT
PRINT
L = 9
GOSUB 18000
INPUT SA
IF SA = 45 THEN SA = 1
IF SA = 450 THEN SA = 2
IF SA = 900 THEN SA = 3
ON SA GOTO 6570,6640,6660
GOSUB 11170
PRINT
PRINT
PRINT
PRINT
L = 6
GOTO 6450
GOSUB 12000
GOTO 6680
GOSUB 11010
GOTO 6440
RETURN
REM POST TEST
L = 12
IN .450 KILOGRAMS?"
"1.0 KILOGRAMS = lOOO GRAMS"
".450 KILOGRAMS = ? GRAMS"
GOSUB
PRINT
L = 6
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
L = 8
GOSUB
18000
18000
"WHAT
QUIZ!
IS THE METRIC UNIT FOR VOLUME?"
1.
2.
3.
METER"
LITER"
GRAM"
18000
INPUT SA
7140
7150
7160
7170
7180
7190
7200
72 lO
7220
7230
7240
7250
TZb!0
7270
7280
7290
7300
7310
7320
7330
7340
7350
7360
7Z70
7380
7390
7400
7410
7420
7430
7440
7450
7460
7470
7480
7490
7500
7510
7520
7530
7540
7550
7560
7570
7580
7590
7600
7610
7620
7630
7640
7650
7660
7670
7680
7690
7700
IN 2.0 METERS?'
CMM SA GOTO 7150,7170,7150
V = O
GOTO 7180
V = 1
L = 12
GOSUB 18000
PRINT "HOW MANY CENTIMETERS ARE
PRINT
PRINT " 1. 20"
PRINT '■ 2. 200"
PRINT " 3. 2000"
L = 8
GOSUB 18000
INPUT SA
IF SA = 20 THEN SA = 1
IF SA = 200 THEN SA = 2
IF SA = 2000 THEN SA = 3
ON SA GOTO 7320,7340,7320
DI = O
GOTO 7350
DI = 1
L = 12
GOSUB 18000
PRINT "2500 GRAMS WOULD BE HOW MANY KILOGRAMS?"
PRINT
PRINT " 1. 2.5"
PRINT " 2. 25"
PRINT " 3. 250"
L = 8
GOSUB 18000
INPUT SA
IF SA = 2.5 THEN SA = 1
IF SA = 25 THEN SA = 2
IF SA = 250 THEN SA = 3
ON SA GOTO 7490,7510,7510
MA = 1
GOTO 7520
MA = O
REM SUMMARY
IF DI = O THEN
IF V = O THEN
IF MA = O THEN
RETURN
PRINT "WE ARE GOING TO REVIEW DISTANCE.
D = 1000
GOSUB 19000
GOSUB 4000
GOTO 7540
PRINT "WE ARE GOING TO REVIEW VOLUME."
D = lOOO
GOSUB 19000
GOSUB 5000
GOTO 7550
PRINT "WE ARE GOING TO REVIEW MASS."
D = lOOO
GOSUB 19000
GOSUB 6000
GOTO 7570
GOTO 7620
GOTO 7670
217
7710 GOTO 7360
11000 REM CORRECTION ROUTINES
IIOIO PRINT
11020 PRINT
11030 PRINT
11040 PRINT
11050 PRINT
11060 PRINT
11070 PRINT
11080 PRINT
"IN THE METRIC SYSTEM, CONVERSIONS ALWAYS*
"ARE SOME POMER OF TEN. FOR EXAMPLE,"
"135. CENTIMETERS BECOMES 1.35 INTERS."
11090 PRINT
moo PRINT
■NOTICE HOW THE SAME DIGITS ARE IN
'ANSWERS? ONLY THE DECIMAL POINT"
■ (POWERS OF TEN) CHANGES. "
BOTH"
11110
11120
11130
11140
11150
11160
11170
11180
11190
11200
11210
PRINT
PRINT
L = 8
GOSUB
60SUB
RETURN
PRINT
PRINT
PRINT
PRINT
PRINT
"IN A METRIC CONVERSION,
"CHANGES POSITION!"
18000
17000
ONLY THE DECIMAL'
11220 PRINT
11230 PRINT
11240 PRINT
11250 PRINT
"IN THE METRIC SYSTEM, ANY UNIT WILL"
"ALWAYS BE SOME POWER OF TEN BIGGER OR'
"SMALLER THAN ANOTHER UNIT."
"(.001, .01, .1, 1, 10, lOO, lOOO)"
"BOTH UNITS MUST MEASURE THE SAME"
"PHYSICAL DIMENSION, THOUGH."
" (DISTANCE, VOLUME, MASS, ETC. ) "
11260 PRINT
11270 PRINT
11280 GOSUB 17000
11290 RETURN
12000 REM REWARDS
12010 L = 24
12020 GOSUB 18000
12030 PRINT "VERY GOOD!"
12040 L = 12
12050 GOSUB 18000
12060 D = 1000
12070 GOSUB 19000
12080 GOSUB 18000
12090 RETURN
17000 REM PRESS RETURN
17010 PRINT "PRESS 'RETURN'
17020 INPUT SA*
17030 RETURN
18000 REM SCROLLING
18010 FOR I = 1 TO L
18020 PRINT
18O30 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 L = 12
TO CONTINUE.
218
20020 G08UB 18000
20030 PRINT "WE ARE FINISHED!"
20040 PRINT "I HOPE YOU HAD A GOOD TIME!
20050 GOSUB 18000
20060 END
TABLE OF VARIABLES
D - DELAY
2050 2190 7580 7630 7680 12060
19010
DI - SCORE ON DISTANCE
7320 7340 7530
I - COUNTER
18010 18030 19010 19020
L - LINES OF SCROLLING
2010 2140 4010 4150 4180 4340
4370 4470 4680 5010 5260 5370
5600 5830 5860 6010 6190 6260
6330 6390 6440 6500 6620 7010
7040 71 lO 7 ISO 7250 7350 7420
11130 12010 12040 18010 20010
MA - SCORE ON MASS
7490 75 lO 7550
SA - STUDENT ANSWER
4490 4500 4500 45 lO 4700 47 lO
4710 4720 5390 5400 5400 5410
5620 5630 5630 5640 5640 5650
S650 5660 6280 6290 6290 6300
6300 63 lO 63 lO 6320 6520 6530
6530 6540 6540 6S50 6S50 6S60
7130 7140 7270 7280 7280 7290
7290 7300 7300 73 lO 7440 7450
7450 7460 7460 7470 7470 7480
SA« - STUDENT ANSWER
2160 2170 17020
V - SCORE ON VOLUME
7150 7170 7540
END OF VAR. LIST
SAMPLE RUN
THIS IS A PROGRAM ABOUT THE METRIC
SYSTEM.
WOULD YOU LIKE TO TAKE A QUIZ TO SEE
219
IF YOU ALREADY KNOW ABOUT THE METRIC
SYSTEM <YES OR NO)?
?YES
QUIZ!
WHAT IS THE METRIC UNIT FOR VOLUME?
1. METER
2. LITER
3. GRAM
?2
HOW MANY CENTIMETERS ARE IN 2.0 METERS?
1. 20
2. 200
3. 2000
?1
2SOO GRAMS WOULD BE HOW MANY KILOGRAMS?
1. 2.5
2. 25
3. 250
?1
WE ARE GOING TO REVIEW DISTANCE.
THE BASIC UNIT OF LENGTH IN THE METRIC
SYSTEM IS THE 'METER.' AT FIRST THE
METER WAS DEFINED AS ONE TEN MILLIONTH
THE DISTANCE FROM THE EQUATOR TO THE
NORTH POLE. HOWEVER, IT SOON BECAME
EVIDENT THAT THIS DISTANCE IS VERY HARD
TO MEASURE EVERY TIME THE STANDARD
NEEDED TO BE CHECKED!
PRESENTLY THE METER IS DEFINED ON THE
BASIS OF A VERY ACCURATELY MEASURED
WAVELENGTH OF LIGHT.
PRESS 'RETURN' TO CONTINUE.
220
THE METRIC UNITS OF LENGTH WHICH ARE
CCMiMONLY USED ARE:
MILLIMETER
CENTIMETER
METER
KILOMETER
THE MILLIMETER IS 1/1000 OF A METER
I/IO OF A CENTIMETER
THE CENTIMETER IS l/lOO OF A METER
THE KILOMETER IS 1000 METERS.
PRESS 'RETURN' TO CONTINUE.
"7
LET'S TRY A COUPLE OF SIMPLE CONVERSION
PROBLEMS.
25 MILLIMETERS EQUALS:
1. 2.5
2. .25
3. 32.
CENTIMETERS
?1
VERY GOOD!
HERE IS ANOTHER PROBLEM.
.52 KILOMETERS EQUALS:
1. 52 METERS
2. 760 METERS
3. 520 METERS
?3
VERY GOOD!
WE ARE FINISHED!
I HOPE YOU HAD A GOOD TIME!
221
''^^^^.^^^^^.
story Writer
PROGRAM DESCRIPTION
This program is an instructional game on nouns, verbs,
adjectives, and adverbs as well as sentence structuring. The
computer gives you an initial quiz (pre-test) on nouns, verbs,
adjectives, and adverbs. If you get all of the answers correct, the
computer asks you to pick any noun, verb, adjective, and adverb
and it will write sentences or stories from the words that you
selected. If you do not receive a perfect score on the initial quiz, the
computer will instruct you on nouns, verbs, adjectives, and
adverbs. Some of the sentences or stories can be quite amusing,
depending on the words selected.
PROGRAM NOTES
This program should give you ideas on how to turn your
computer into an author. Collections of nouns, verbs, adjectives,
and adverbs can even be combined with no filler (like the New
Year's resolutions) to produce fundamental (although somewhat
obscure) sentences. Try this order: adjective, noun, verb, noun,
adverb. The result would be something like: 'TAT CAT CHEW
TREE SLOWLY." For activities like this you might want to enter
larger lists of words in each class and draw from them at
random.
222
PROGRAM LISTING: BASIC
100 REM STORY WRITER BY OARY ORWI6
lOOO REM INITIALIZATION
1010 DIM AV«<15),J1«<1S),J2«<15),J3«<15>,N1«(15},N2«(15>,N3«
<15),N4«(15),N5«(15),N6«(15>,N7«(15)
1020 DIM NA«(30),SA«(5),V1«(1S)
1030 REM USE FULL SCREEN
1040 POKE 82, O
1050 PRINT
2000 REM INTRODUCTION
2010
L=12
2020
GOSUB
18000
2030
PRINT
STORY W
2040
L=12
2050
GOSUB
18000
2060
D=200
2070
GOSUB
19000
2080
GOSUB
18000
2090
PRINT
"WHAT IS YOUR NAME?"
2100
GOSUB
18000
2110
INPUT
NA*
2120
GOSUB
18000
2130
PRINT
"I'M HAPPY TO MEET YOU,
2140
GOSUB
18000
2150 D=200
2160 GOSUB
2170 PRINT
2 ISO PRINT
2190 PRINT
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
2260 PRINT
2270 L=6
2280 GOSUB
2290 GOSUB
2300 L=12
23 lO GOSUB
';na*
19000
"THIS IS A PROGRAM WHICH WILL WRITE A"
"STORY FOR YOU!"
"ALL YOU HAVE TO DO IS PROVIDE ME WITH"
"A FEW WORDS!"
"BEFORE WE GO VERY FAR, I NEED TO CHECK"
"TO SEE IF YOU KNOW WHAT A FEW LANGUAGE"
"TERMS MEAN."
18000
17000
2320 PRINT
2330 GOSUB
18000
"WHICH OF THE FOLLOWING WORDS IS A
16000
2340 IF SA03 THEN 2550
2350 PRINT "VERY GOOD!"
2360 PRINT "WHICH OF THE FOLLOWING WORDS
2370 GOSUB 16000
2380 IF SA04 THEN 2640
2390 PRINT "GREAT!"
2400 PRINT "WHICH OF THE FOLLOWING WORDS
24 lO PRINT "AN ADJECTIVE?"
2420 GOSUB 16000
2430 IF SA02 THEN 2740
2440 PRINT "EXCELLENT!"
2450 PRINT "WHICH OF THE FOLLOWING WORDS IS
NOUN?'
IS A VERB?"
IS'
223
2460
2470
2480
2490
2500
25 lO
2520
2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2680
2690
2700
2710
2720
2730
2740
2750
2760
2770
2780
2790
2800
2810
2820
2830
2840
2850
2860
2870
2880
3000
3010
3020
3030
3040
3050
3060
3070
3080
3090
3100
3110
3120
I THINK WE ARE READY TO GO AHEAD NOM!
17000
PRINT "AN ADVERB?"
GOSUB 16000
IF SAOl THEN 2810
PRINT "VERY GOOD!"
PRINT
PRINT
PRINT
GOSUB
GOTO 3000
REM NOUN
PRINT "A NOUN IS THE NAME OF A PERSON, PLACE,
PRINT "OR THING. "
PRINT
PRINT
PRINT
PRINT
PRINT
GOTO 2320
REM VERB
PRINT "A VERB
PRINT "ACTION."
PRINT "YELL, RUN, JUMP, THINK, HIT, KICK,"
PRINT "AND TALK ARE ALL VERBS."
PRINT "A VERB CAN HAVE SEVERAL FORMS "
PRINT "PRESENT, PAST, PAST PERFECT, ETC."
PRINT "WE WILL ONLY WORK WITH PRESENT AND PAST"
PRINT "TENSES (SWIM AND SWAM) . "
GOTO 2360
REM ADJECTIVE
PRINT "AN ADJECTIVE IS A WORD DESCRIBES"
PRINT "SOMETHING OR SOMEBODY (A NOUN) . "
PRINT "SWEET, JUMPY, MODEST, ROUGH, YELLOW,"
PRINT "AND STUPID ARE ALL ADJECTIVES."
PRINT
GOTO 2400
REM ADVERB
PRINT "AN ADVERB
SOMETHING
"SIDEWALK, UMBRELLA, MAN, FLORIDA, AND"
"FOOT ARE ALL NOUNS!"
"NOUNS CAN BE EITHER SINGULAR"
"(FOOT, MOUSE) OR PLURAL (FEET, MICE)."
IS ANY WORD WHICH EXPRESS AN"
IS A WORD WHICH TELLS HOW"
IS DONE. IT FREQUENTLY ENDS"
•IN '-LY'."
■QUICKLY, SLOWLY, MODESTLY, QUIETLY,
•AND CAREFULLY ARE ALL ADVERBS. "
PRINT
PRINT
PRINT
PRINT
PRINT
GOTO 2450
REM COLLECT WORDS
L=12
GOSUB 18000
PRINT "FIRST I WILL NEED SOME NOUNS. "
PRINT "THINK OF SEVEN NOUNS (ALL SINGULAR)"
PRINT "AND TYPE THEM IN ONE AT A TIME."
PRINT
PRINT
PRINT "NOUN #1";
INPUT Nl*
PRINT "NOUN #2";
INPUT N2*
PRINT "NOUN #3";
224
3130
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
3240
3250
3260
3270
3280
3290
3300
3310
3320
3330
3340
3350
3360
3370
3380
3390
3400
3410
3420
3430
3440
3450
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
INPUT
PRINT
INPUT
PRINT
INPUT
PRINT
INPUT
PRINT
#4*
N3«
"NOUN
N4«
"NOUN #5";
N5«
"NOUN #6";
N6«
"NOUN #7";
INPUT N7*
GOSUB 18000
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
REM STORY
L=12
60SUB
PRINT
GOSUB
GOSUB
GOSUB
PRINT
PRINT
GOSUB
GOSUB
GOSUB
PRINT
PRINT
GOSUB
GOSUB
GOSUB
PRINT
PRINT
GOSUB
GOSUB
GOSUB
PRINT
"GREAT! NOW I WILL NEED JUST ONE VERB.
"VERB #1";
VI*
"NOW HOW ABOUT
ONE ADJECTIVE?"
"ADJECTIVE #1";
Jl«
"NOW I NEED TWO NUMBERS.
"NUMBER #1 (BETWEEN 2 AND 12)";
J2»
"NUMBER «2
J3*
(BETWEEN 2 AND 12)";
"I'M ALI^IST DONE!
"ONE ADVERB!"
"ADVERB #1";
AV«
NOW ALL I NEED IS"
S hEW YEAR'S RESOLUTIONS'
WILL STOP EATING TOO MUCH"
18000
";NA«;
18000
17000
18000
"I, ";na«;"
Ni«;"."
18000
17000
18000
"I WILL WATCH ONLY ";J1*;" TELEVISION"
"SHOWS. "
18000
17000
18000
"I WILL ";V1*;" EVERY DAY FOR "
J2»;" HOURS."
18000
17000
180(K>
"I WILL MAKE MY ";N2*;" AND CLEAN"
225
"MY ";N3«;" every day."
18000
17000
18000
"I WILL TALK "JAV*;" WHILE I EAT MY"
N4»;"."
18000
17000
18000
"I WILL 80 TO BED AT ";J3*S" O'CLOCK."
18000
17000
18000
"I WILL TAKE 800D CARE OF MY PET ";N5«;
18000
17000
18000
"I WILL NOT PUT ANY ";N6«;"
" MOTHER ' S " ; N7* ; " . "
18000
17000
18000
"I HOPE YOU CAN STICK TO YOUR'
" RESOLUT I ONS , " ; N A* ; " ! "
4230 PRINT
4240 60SUB
4250 60SUB
4260 60SUB
4270 PRINT
4280 PRINT
4290 60SUB
4300 60SUB
4310 60SUB
4320 PRINT
4330 60SUB
4340 60SUB
43SO 60SUB
4360 PRINT
4370 60SUB
4380 60SUB
4390 60SUB
4400 PRINT
4410 PRINT
4420 60SUB
4430 G05UB
4440 GOSUB
4450 PRINT
4460 PRINT
4470 PRINT
4480 PRINT "BYE FOR NOW!
4490 GOSUB 18000
4SOO END
16000 REM QUIZ FRAME
PRINT
PRINT
PRINT
PRINT " 1. SWIFTLY'
PRINT " 2. GENTLE"
PRINT " 3. TREE"
PRINT " 4. JUMP"
PRINT
L=6
GOSUB 18000
INPUT SA
IN MY"
16010
16020
16030
16040
16050
16060
16070
16080
16090
16100
16110
16120
17000
17010
17020
17030
18000
18010
18020
18030
18040
19000
19010
19020
19030
TYPE IN 1,2,3 OR 4.
RETURN
REM WAIT FOR PRESS RETURN
PRINT "PRESS 'RETURN' TO CONTINUE.
INPUT SA«
RETURN
REM SCROLLING
FOR 1=1 TO L
PRINT
NEXT I
RETURN
REM DELAY
FOR 1=1 TO D
NEXT I
RETURN
226
TABLE OF VARIABLES
AV«
1010 3450 4270
Jl«
lOlO 3320 4120
J2«
lOlO 3370 4180
J3*
lOlO 3390 4320
Nl«
lOlO 3090 4080
N2«
lOlO 3110 4220
N3«
lOlO 3130 4230
N4«
lOlO 3150 4280
N5«
lOlO 3170 4360
N6«
lOlO 3190 4400
N7«
1010 3210 4410
NA«
1020 21 lO 2130 4030 4070 44AO
SA«
1020 17020
VI*
1020 3270 4170
L
2010 2040 2270 2300 3010 4010
16090 18010
D
2060 2150 19010
227
SA
2340 2380 2430 2480 16110
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REH STORY WRITER BY GARY ORWIG
lOOO REM INITIALIZATION
1010 REM USE FULL SCREEN
1020 POKE 82, O
1030 CLS
REM I NTRODUCT I ON
L = 12
2000
20 lO
2020
2030
2040
2050
2060
2070
2080 60SUB
2090 PRINT
GOSUB 18000
PRINT "
L = 12
GOSUB 18000
D = lOOO
GOSUB 19000
STORY WRITER"
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
23 lO
2320
2330
2340
2350
2360
2370
2380
2390
2400
18000
"WHAT IS YOUR NAME?"
GOSUB 18000
INPUT NA«
GOSUB 18000
PRINT "I'M HAPPY TO MEET YOU,
GOSUB 18000
D = 1500
GOSUB 19000
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 6
GOSUB
GOSUB
L = 12
GOSUB 18000
"THIS IS A
"STORY FOR
PROGRAM WHICH WILL WRITE
YOU ! "
A"
"ALL YOU HAVE
"A FEW WORDS!'
TO DO IS PROVIDE ME WITH"
"BEFORE WE GO VERY FAR, I NEED TO CHECK"
"TO SEE IF YOU KNOW WHAT A FEW LANGUAGE'
"TERMS MEAN."
18000
17000
PRINT
GOSUB
IF SA
PRINT
PRINT
GOSUB
IF SA
PRINT
PRINT
2410 PRINT
"WHICH OF THE FOLLOWING WORDS IS A NOUN?"
16000
< > 3 THEN 2550
"VERY GOOD!"
"WHICH OF THE FOLLOWING WORDS IS A VERB?"
16000
< > 4 THEN 2640
"GREAT!"
"WHICH OF THE FOLLOWING WORDS IS"
"AN ADJECTIVE?"
228
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2680
2690
2700
2710
2720
2730
2740
2750
2760
2770
2780
2790
2800
2810
2820
2830
2840
2850
2860
2870
2880
3000
3010
3020
3030
3040
3050
3060
3070
3080
GOSUB 16000
IF SA < > 2 THEN 2740
PRINT "EXCELLENT!"
PRINT "WHICH OF THE FOLLOWING WORDS
PRINT "AN ADVERB?"
GOSUB 16000
< > 1 THEN 2810
"VERY GOOD!"
IS"
"I THINK WE ARE READY TO GO AHEAD NOW!"
AND'
"SIDEWALK, UMBRELLA, MAN, FLCMRIDA,
"FOOT ARE ALL NOUNS!"
"NOUNS CAN BE EITHER SINGULAR"
"(FOOT, MOUSE) OR PLURAL (FEET, MICE)
AN'
IF SA
PRINT
PRINT
PRINT
PRINT
GOSUB 17000
GOTO 3000
REM hK}UN
PRINT "A NOUN IS THE NAME OF A PERSON, PLACE,
PRINT "OR THING."
PRINT
PRINT
PRINT
PRINT
PRINT
GOTO 2320
REM VERB
PRINT "A VERB IS ANY WORD WHICH EXPRESS
PRINT "ACTION."
PRINT "YELL, RUN, JUMP, THINK, HIT, KICK,"
PRINT "AND TALK ARE ALL VERBS."
PRINT "A VERB CAN HAVE SEVERAL FORMS "
PRINT "PRESENT, PAST, PAST PERFECT, ETC."
PRINT "WE WILL ONLY WORK WITH PRESENT WMD PAST'
PRINT "TENSES (SWIM AND SWAM) . "
GOTO 2360
REM ADJECTIVE
PRINT "AN ADJECTIVE IS A WORD DESCRIBES"
PRINT "SOMETHING OR SOMEBODY (A NOUN)."
PRINT "SWEET, JUMPY, MODEST, ROUGH, YELLOW,"
PRINT "AND STUPID ARE ALL ADJECTIVES."
PRINT
GOTO 2400
REM ADVERB
PRINT "AN ADVERB
SOMETHING
"IN '-LY'."
"QUICKLY, SLOWLY, MODESTLY, QUIETLY,
"AND CAREFULLY ARE ALL ADVERBS."
PRINT
PRINT
PRINT
PRINT
PRINT
GOTO 2450
REM COLLECT WORDS
L = 12
GOSUB 18000
"FIRST
IS A WORD WHICH TELLS HOW"
IS DONE. IT FREQUENTLY ENDS"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
I WILL NEED SOME NOUNS."
"THINK OF SEVEN NOUNS (ALL SINGULAR)
"AND TYPE THEM IN ONE AT A TIME."
'NOUN »1";
229
230
3090
3100
3110
3120
3130
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
3240
3250
3260
3270
3280
3290
3300
3310
3320
3330
3340
3350
3360
3370
3380
3390
3400
3410
3420
3430
3440
3450
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
41 lO
4120
4130
4140
4150
4160
4170
4180
4190
INPUT Nl*
PRINT "NOUN #2";
INPUT N2*
PRINT "NOUN #3";
INPUT N3«
PRINT "NOUN #4";
INPUT N4*
PRINT "NOUN #5";
INPUT N5«
PRINT "NOUN #6";
INPUT N6«
PRINT "NOUN #7";
INPUT N7*
GOSUB 18000
PRINT "GREAT! NOW I WILL is«EED JUST ONE VERB."
PRINT
PRINT
PRINT "VERB #1";
INPUT VI*
PRINT "NOW HOW ABOUT ONE ADJECTIVE?"
PRINT
PRINT
PRINT
INPUT Jl«
PRINT "NOW
PRINT
PRINT
PRINT
ADJECTIVE #1";
I NEED TWO NUMBERS.
"NUMBER #1
INPUT J2*
PRINT "NUMBER #2
INPUT J 3*
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT AV*
REM STORY
L = 12
GOSUB 18000
(BETWEEN 2 AND 12)
(BETWEEN 2 AND 12)";
"I'M ALMOST DONE!
"ONE ADVERB!"
"ADVERB «1";
NOW ALL I NEED IS'
PRINT
GOSUB
GOSUB
GOSUB
PRINT
";NA»;"'S new YEAR'S RESOLUTIONS'
18000
17000
18000
"I, ";NA«;
WILL STOP EATING TOO lUICH*
PRINT Nl*;".
GOSUB 18000
GOSUB
GOSUB
PRINT
PRINT
GOSUB
GOSUB
GOSUB
PRINT
17000
18000
"I WILL WATCH ONLY
TELEVISION"
"SHOWS. "
18000
17000
18000
"I WILL ";
PRINT J2*;" HOURS."
GOSUB 18000
VI*; "
EVERY DAY FOR
4200 GOSUB
42 lO GOSUB
4220 PRINT
4230 PRINT
4240 GOSUB
4250 GOSUB
4260 GOSUB
4270 PRINT
4280 PRINT
4290 GOSUB
4300 GOSUB
43 lO GOSUB
4320 PRINT
4330 GOSUB
4340 GOSUB
4350 GOSUB
4360 PRINT
4370 GOSUB
4380 GOSUB
4390 GOSUB
4400 PRINT
4410 PRINT
4420 GOSUB
4430 GOSUB
4440 GOSUB
4450 PRINT
4460 PRINT
4470 PRINT
4480 PRINT
4490 GOSUB
4500 END
16000 REM
16010
16020
16030
16040
16050
16060
16070
16080
16090
16100
16110
16120
17000
17010
17020
17030
18000
18010
18020
18030
18040
19000
17000
18000
"I WILL MAKE MY ••;N2*;" AND CLEAN"
"MY ";n3«;" every day."
18000
17000
18000
"I WILL TALK ";AV*;" WHILE I EAT MY"
N4«;"."
18000
17000
18000
"I WILL GO TO BED AT ";J3*;" O'CLOCK."
18000
17000
18000
"I WILL TAKE GOOD CARE OF MY PET ";N5$;
18000
17000
18000
"I WILL
"MOTHER' S
18000
17000
18000
"I HOPE YOU CAN STICK TO YOUR"
"RESOLUTIONS, " ; NA«; " ! "
NOT PUT ANY
';N7«;"."
";N6*;" in my*
"BYE FOR
18000
NOW!
1.
2.
3.
4.
18000
SA
QUIZ FRAME
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 6
GOSUB
INPUT
RETURN
REM WAIT FOR
PRINT "PRESS
INPUT SA*
RETURN
REM SCROLLING
FOR I = 1 TO L
PRINT
NEXT I
RETURN
REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
TYPE IN 1,2,3 OR 4.
SWIFTLY'
GENTLE"
TREE"
JUMP"
PRESS RETURN
'RETL«N' TO CONTINUE.
231
TABLE OF VARIABLES
AV* - ADVERB
3450 4270
D - DELAY
2060 2150 19010
I - COUNTER
18010 18030 19010 19020
Jl* - ADJ. 1
3320 4120
J2» - ADJ. 2
3370 4 ISO
J3* - ADJ. 3
3390 4320
L - LINES OF SCROLLING
2010 2040 2270 2300 30 lO 4010
1&090 18010
Nl« - NOUN 1
3090 4080
N2« - NOUN 2
31 lO 4220
N3* - NOUN 3
3130 4230
N4« - NOUN 4
3150 4280
NS« - NOUN 5
3170 4360
N6« - NOUN 6
3190 4400
N7« - NOUN 7
3210 4410
NA« - NAHE
2110 2130 4030 4070 4460
SA - STUDENT ANSWER
2340 2380 2430 2480 16110
SA« - STUDENT ANSWER
17020
VI* - VERB 1
3270 4170
232 END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
7LAURIE
I'M HAPPY TO MEET YOU, LAURIE
THIS IS A PROGRAM WHICH WILL WRITE A
STORY FOR YOU!
ALL YOU HAVE TO DO IS PROVIDE ME WITH
A FEW WORDS!
BEFORE WE 60 VERY FAR, I NEED TO CHECK
TO SEE IF YOU KNOW WHAT A FEW LAN6UA6E
TERMS MEAN.
PRESS 'RETURN' TO CONTINUE.
WHICH OF THE FOLLOWING WORDS IS A NOUN?
TYPE IN 1,2,3 OR 4.
1. SWIFTLY
2. GENTLE
3. TREE
4. JUMP
?4
A NOUN IS THE NAME OF A PERSON, PLACE,
OR THING.
SIDEWALK, UMBRELLA, MAN, FLORIDA, AND
FOOT ARE ALL NOUNS!
NOUNS CAN BE EITHER SINGULAR
(FOOT, MOUSE) OR PLURAL (FEET, MICE).
WHICH OF THE FOLLOWING WORDS IS A NOUN?
TYPE IN 1,2,3 OR 4.
1. SWIFTLY
2. GENTLE
3. TREE
4. JUMP
?3 233
VERY GOOD!
WHICH OF THE FOLLOWING WORDS IS A VERB?
TYPE IN 1,2,3 OR 4.
1. SWIFTLY
2. GENTLE
3. TREE
4. JUMP
?4
GREAT !
WHICH OF THE FOLLOWING WORDS IS
AN ADJECTIVE?
TYPE IN 1,2,3 OR 4.
1. SWIFTLY
2. GENTLE
3. TREE
4. JUMP
?2
EXCELLENT !
WHICH OF THE FOLLOWING WORDS IS
AN ADVERB?
TYPE IN 1,2,3 OR 4.
1. SWIFTLY
2. GENTLE
3. TREE
4. JUMP
?1
VERY GOOD!
I THINK WE ARE READY TO GO AHEAD NOW!
PRESS 'RETURN' TO CONTINUE.
FIRST I WILL NEED SOME NOUNS.
THINK OF SEVEN NOUNS (ALL SINGULAR)
AND TYPE THEM IN ONE AT A TIME.
NOUN #1?CAT
NOUN #2?DOG
NOUN «3?HOUBE
234 NOUN #4?TREE
NOUN «S?HORSE
NOUN #6?CHICKEN
NOUN #7?CAR
GREAT! NOW I WILL NEED JUST ONE VERB.
VERB #1?RUN
NOW HOW ABOUT ONE ADJECTIVE?
ADJECTIVE #1?HAPPY
NOW I NEED TWO NUMBERS.
NUMBER #1 (BETWEEN 2 AND 12) ?5
NUMBER #2 (BETWEEN 2 AND 12) ?7
I'M ALMOST DONE! NOW ALL I NEED IS
ONE ADVERB!
ADVERB #1?QUICKLY
LAURIE'S NEW YEAR'S RESOLUTIONS
PRESS 'RETURN' TO CONTINUE.
I, LAURIE, WILL STOP EATING TOO MUCH
CAT.
PRESS 'RETURN' TO CONTINUE,
r?
I WILL WATCH ONLY HAPPY TELEVISION
SHOWS.
PRESS 'RETURN' TO CONTINUE-
•3
I WILL RUN EVERY DAY FOR
5 HOURS.
PRESS 'RETURN' TO CONTINUE.
•7
I WILL MAKE MY DOG AND CLEAN
MY HOUSE EVERY DAY. 235
PRESS 'RETURN' TO CONTINUE.
•7
I WILL TALK QUICKLY WHILE I EAT MY
TREE.
PRESS 'RETURN' TO CONTINUE.
•7
I WILL GO TO BED AT 7 O'CLOCK.
PRESS 'RETURN' TO CONTINUE.
•7
I WILL TAKE GOOD CARE OF MY PET HORSE.
PRESS 'RETURN' TO CONTINUE.
I WILL NOT PUT ANY CHICKEN IN MY
MOTHER'S CAR.
PRESS 'RETURN' TO CONTINUE.
I HOPE YOU CAN STICK TO YOUR
RESOLUTIONS, LAURIE!
BYE FOR NOW!
236
SIMULATION
PROGRAMS
Simulation programming is a form of instruction that puts the learner in a real-life
situation. It allows the learner to use decisionmaking skills to alter the situation and then
to witness the outcome created by the decisions. Science and engineering, as well as the
aerospace industry, use simulations for structural designs and for training of personnel. A
great deal of enthusiasm or motivation from the learner is one good aspect of the use of
simulation CAL The six program listings and sample runs were chosen to demonstrate
the use of simulation programming to teach the learner to adjust to a variety of real-life
situations involving such subjects as retailing, science, ballistics, and financing.
237
Acceleration
PROGRAM DESCRIPTION
This is a program that will help you to understand better what
acceleration is all about. You will need to know about the
relationships between time, distance, velocity, and acceleration
from a science book and practice with the program TIME,
DISTANCE, AND VELOCITY before you attempt to operate this
simulation program.
In this program, you select any units you want to use to
represent time and distance. Observe the results carefully, since
the answers will be in the same units that you selected. There are
two limitations on the units you input into the computer for time
and distance. Do not type in "0" for a value since some of the
equations would make the computer divide by "0" and, as you
know, the equations would not operate. Also, the computer does
not check to see if you have accelerated beyond the speed of light,
which is not a probable occurrence in the real world.
PROGRAM NOTES
1. Consider adding a "zero filter" to eliminate potential problems
with division by zero.
2. How could you allow for relativity and the limitation of the
speed of light? Would it be possible to check an answer to see
if it approaches or exceeds the limits?
238
PROGRAM LISTING: BASIC
100 REM ACCELERATION BY GARY 0RWI6
lOOO REM INITIALIZATION
1010 DIM 0«(15),NA«(30),S«(15),T«(1S)
1020 REM USE FULL SCREEN
1030 POKE 82,0
1040 PRINT
2000 REM INTRODUCTION
2010 L=24
2020 GOSUB 18000
2030 FOR J=0 TO 300 STEP 8
2040 DE=(301-J)/5
20S0 GOSUB 19000
2060 PRINT ">>»»>>>>>ACCELERATION»»>»»»»»»>»>»>"
2070 NEXT J
2080 FOR 1=1 TO lO
2090 PRINT ">»>>>>>>>>ACCELERATION»»»»»»»»>>>»>»"
9
2100
21 lO
2120
2130
2140
2150
2160
2170
2180
2190
2200
22 lO
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
NEXT I
DE=200
GOSUB 19000
L=24
GOSUB
PRINT
PRINT
L=12
GOSUB
INPUT
GOSUB
PRINT
PRINT
PRINT
D=1500
GOSUB 19000
L=24
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
18000
"IT'S NICE TO SEE YOU!
"WHAT IS YOUR NAME?";
18000
NA«
18000
I HOPE YOU HAVE A GOOD TIME, ";NA»;",
18000
"THIS IS A PROGRAM WHICH WILL HELP"
"YOU TO BETTER UNDERSTAND ACCELERATION."
"YOU SHOULD FIRST READ ABOUT TIME,"
"DISTANCE, VELOCITY, AND ACCELERATION"
"IN A SCIENCE BOOK TO GET A BASIC "
"UNDERSTANDING OF THEM."
"IN THIS PROGRAM, YOU CAN PICK ANY UNITS'
"YOU WANT TO USE TO REPRESENT TIME AND"
"DISTANCE. THE ANSWERS WILL BE IN THOSE'
"SAME UNITS."
"THERE ARE TWO LIMITATICMMS "
"DON'T TYPE IN 'O' FOR A VALUE!"
" (SOME OF MY EQUATIONS WOULD MAKE ME TRY"
"TO DIVIDE BY OD"
PRINT "ALSO, I DON'T CHECK TO SEE IF YOU HAVE"
PRINT "ACCELERATED BEYOND THE SPEED OF LIGHT!"
239
2470 PRINT "(SOMETHING HARD TO DO IN REAL LIFE!)"
2480 PRINT
2490 PRINT
2500 PRINT "PRESS 'RETURN' TO CONTINUE."
2510 INPUT S*
2520 L=24
2530 GOSUB 18000
3000 REM SET UNITS
3010 PRINT "WHAT UNIT DO YOU WANT TO USE FOR TIME?'
3020 PRINT " (SECONDS, MINUTES, HOURS, ETC. ) "
3030 INPUT T*
3040 PRINT
3050 PRINT "WHAT UNIT DO YCttJ WANT FOR DISTANCE?"
3060 PRINT "(METERS, KILOMETERS, MILES, ETC.)"
3070 INPUT D»
3080 PRINT
3090 PRINT "TIhE WILL BE IN ";T*J"."
3100 PRINT
3110 PRINT "DISTANCE WILL BE IN ";D»?"."
3120 PRINT
3130 PRINT "VELOCITY WILL BE IN"
3140 PRINT D«S" PER ";T*;"."
3150 PRINT
3160 PRINT "ACCELERATION WILL BE IN"
3170 PRINT D»;" PER ";T*;" PER ";T«;"."
3180 PRINT
3190 PRINT
3200 PRINT "PRESS 'RETLWN' TO CONTINUE."
32 lO INPUT S«
3220 L=24
3230 GOSUB 18000
4000 REM MAIN PROGRAM
4010 PRINT "SELECT ONE AND ENTER THE NUMBER."
4020 PRINT
4030 PRINT
4040 PRINT "
4050 PRINT
4060 PRINT "
4070 PRINT
4080 PRINT "
4090 PRINT
4100 PRINT "
41 lO PRINT
4120 PRINT "
4130 PRINT
4140 PRINT "
4150 PRINT
4160 INPUT SA
4170 IF SA<1 OR SA>6 THEN 4010
4180 L=24
4190 GOSUB 18000
4200 ON SA GOTO 4210,4270,4330,4390,4450,4510
4210 PRINT "ENTER A"
4220 INPUT A
4230 PRINT "ENTER T"
4240 INPUT T
1.
GIVEN
A
T,
FIND
V
D"
2.
GIVEN
A
D,
FIND
V
T"
3.
GIVEN
A
V,
FIND
D
T"
4.
GIVEN
V
D,
FIND
A
T"
5.
GIVEN
V
T,
FIND
A
D"
6.
GIVEN
D
T,
FIND
A
V"
240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
4560
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
5140
5150
5160
5170
5180
5190
5200
6000
6010
6020
GOSUB 6010
GOTO 5000
PRINT "ENTER A"
INPUT A
PRINT "ENTER D"
INPUT D
GOSUB 6050
GOTO 5000
PRINT "ENTER A"
INPUT A
PRINT "ENTER V"
INPUT V
GOSUB 6090
GOTO 5000
PRINT "ENTER V"
INPUT V
PRINT "ENTER D"
INPUT D
GOSUB 6130
GOTO 5000
PRINT "ENTER V"
INPUT V
PRINT "ENTER T"
INPUT T
GOSUB 6170
GOTO 5000
PRINT "ENTER D"
INPUT D
PRINT "ENTER T"
INPUT T
GOSUB 6210
GOTO 5000
REN PRINT ANSWERS
L=6
GOSUB 18000
PRINT "ACCELERATION: ";A;" ";D«;" PER ";T«;" PER ";t*
PRINT
PRINT "VELOCITY: ";v;" ";D*;" PER ";T»
PRINT
PRINT "DISTANCE:
PRINT
PRINT "TIME:
PRINT
PRINT
PRINT "ENTER MORE VALUES (YES OR NO)
INPUT S*
IF S«="NO" THEN 20000
PRINT
PRINT "SAME UNITS OF MEASUREMENT?"
PRINT " (YES OR NO) "
INPUT S*
IF S*="NO" THEN 3000
GOTO 4000
REM CALCULATIONS
REM A. GIVEN ACCEL. AND TIME
V=A*T
";d;" ";d*
241
6030 D=T''2»A»0.5
6040 RETURN
6050 REM B. GIVEN ACCEL. AND DISTANCE
6060 T=(<2»D)/A)'^0.3
&070 V=<2»A»D>-X).3
6080 RETURN
6090 REM C. GIVEN ACCEL. AND FINAL VEL.
6100 T=V/A
6110 D=(V'^2)/(2*A)
6120 RETURN
6130 REM D. GIVEN FINAL VELOCITY AND DISTANCE
6140 A=<V'^2)/(2»D)
6150 T=(2»D)/V
6160 RETURN
6170 REM E. GIVEN FINAL VELOCITY AND TIME
6 ISO A=V/T
6190 D=<V*T)/2
6200 RETURN
6210 REM F. GIVEN DISTANCE AND TIME
6220 A=(2*D)/T''2
6230 V=(2*D)/T
6240 RETURN
18000 REM SCROLL
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO DE
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT
20020 PRINT
20030 PRINT "I HOPE YOU HAD FUN, "|NA»;"!"
20040 PRINT "BYE FOR NOW!"
20050 END
TABLE OF VARIABLES
D«
1010 3070 31 lO 3140 3170 5O30
5050 5070
NA»
lOlO 2190 2230 20030
S«
lOlO 2510 3210 5130 5140 5180
5190
T*
lOlO 3030 3090 3140 3170 3170
5030 5030 5050 5090
242
L
20 lO 2130 2170 2260 2S20 3220
4180 5010 18010
J
2030 2040 2070
DE
2040 2110 19010
I
2080 2100 18010 18030 19010 19020
D
2240 4300 4420 4520 5070 6030
6060 6070 6110 6140 6150 6190
6220 6230
SA
4160 4170 4170 4200
A
4220 4280 4340 5030 6020 6030
6060 6070 6100 61 lO 6140 6180
6220
T
4240 4480 4540 5090 6020 6030
6060 6100 6150 6180 6190 6220
6230
V
4360 4400 4460 5050 6020 6070
6100 6110 6140 6150 6180 6190
6230
PROGRAM LISTING: MICROSOFT BASIC
100 REM ACCELERATION BY GARY ORMIG
1000 REM INITIALIZATION
1010 REM USE FULL SCREEN
1020 POKE 82,0
1030 CLS
2000 REM INTRODUCTION
2010 L = 24
2020 GOSUB 18000
2030 FOR J = O TO 300 STEP 8
2040 DE = 300 - J
20S0 GOSUB 19000
2060 PRINT ">>»>»>»>ACCELERATION»»>>>>>>»>»";
2070 NEXT J
2080 FOR I = 1 TO 10
2090 PRINT ">»>>»>»>ACCELERATICMM>»»>»»>»»";
243
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
3000
3010
3020
3030
3040
3050
3060
3070
3080
3090
3100
3110
NEXT I
DE = 1000
60SUB 19000
L = 24
60SUB 18000
PRINT "IT'S NICE TO SEE YOU!"
PRINT "WHAT IS YOUR NAME?";
L = 12
60SUB 18000
INPUT NA«
GOSUB 18000
PRINT
PRINT
PRINT "I HOPE YOU HAVE A GOOD TIME,
D = 1500
GOSUB 19000
L = 24
GOSUB 18000
';na«;"."
"THIS IS A PROGRAM WHICH WILL HELP"
"YOU TO BETTER UNDERSTAND ACCELERATION."
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S«
L = 24
GOSUB 18000
REM SET UNITS
PRINT "WHAT UNIT DO YOU WANT TO USE FOR TIME?"
PRINT " (SECONDS, MINUTES, HOURS, ETC. ) "
INPUT J*
PRINT
PRINT
PRINT
INPUT D*
PRINT
PRINT
PRINT
PRINT
"YOU SHOULD FIRST READ ABOUT TIME,"
"DISTANCE, VELOCITY, AND ACCELERATION"
"IN A SCIENCE BOOK TO GET A BASIC "
"UNDERSTANDING OF THEM."
"IN THIS PROGRAM, YOU CAN PICK ANY UNITS"
"YOU WANT TO USE TO REPRESENT TIME AND"
"DISTANCE. THE ANSWERS WILL BE IN THOSE"
"SAME UNITS."
"THERE ARE TWO LIMITATIONS "
"DON'T TYPE IN 'O' FOR A VALUE!"
"(SOME OF MY EQUATIONS WOULD MAKE ME TRY"
"TO DIVIDE BY O!)"
"ALSO, I DON'T CHECK TO SEE IF YOU HAVE"
"ACCELERATED BEYOND THE SPEED OF LIGHT!"
"(SOMETHING HARD TO DO IN REAL LIFE!)"
"PRESS 'RETURN' TO CONTINUE."
"WHAT UNIT DO YOU WANT FOR DISTANCE?"
"(METERS, KILOMETERS, MILES, ETC.)"
TIME WILL BE IN ";T*;".
"DISTANCE WILL BE IN "JD*?",
244
1. GIVEN A «c T, FIND V <e D"
2. GIVEN A & D, FIND V & T"
3. GIVEN A & V, FIND D & T"
4. GIVEN V Sc D, FIND A <c T"
5. GIVEN V & T, FIND A Sc D"
6. GIVEN D & T, FIND A & V"
3120 PRINT
3130 PRINT "VELOCITY WILL BE IN"
3140 PRINT D«;" PER ";T»;"."
3150 PRINT
3160 PRINT "ACCELERATION WILL BE IN"
3170 PRINT D«;" PER ";T«;" PER ";T*;"."
3180 PRINT
3190 PRINT
3200 PRINT "PRESS 'RETURN' TO CONTINUE."
32 lO INPUT S«
3220 L = 24
3230 GOSUB 18000
4000 REM MAIN PROGRAM
4010 PRINT "SELECT ONE AND ENTER THE NUMBER."
4020 PRINT
4030 PRINT
4040 PRINT "
4050 PRINT
4060 PRINT "
4070 PRINT
4080 PRINT "
4090 PRINT
4100 PRINT "
41 lO PRINT
4120 PRINT "
4130 PRINT
4140 PRINT "
4150 PRINT
4160 INPUT SA
4170 IF SA < 1 OR SA > 6 THEN 4010
4180 L = 24
4190 GOSUB 18000
4200 ON SA GOTO 4210,4270,4330,4390,4430,4510
42 lO PRINT "ENTER A"
4220 INPUT A
4230 PRINT "ENTER T"
4240 INPUT T
4250 GOSUB 6010
4260 GOTO 5000
4270 PRINT "ENTER A"
4280 INPUT A
4290 PRINT "ENTER D"
4300 INPUT D
4310 GOSUB 6050
4320 GOTO 5000
4330 PRINT "ENTER A"
4340 INPUT A
4350 PRINT "ENTER V"
4360 INPUT V
4370 GOSUB 6090
4380 GOTO 5000
4390 PRINT "ENTER V"
4400 INPUT V
44 lO PRINT "ENTER D"
4420 INPUT D
4430 GOSUB 6130
245
••;d;" "jd*
";t;" ";t«
4440 GOTO 5000
4450 PRINT "ENTER V
4460 INPUT V
4470 PRINT "ENTER T"
4480 INPUT T
4490 GOSUB 6170
4500 GOTO 5000
4510 PRINT "ENTER D"
4520 INPUT D
4530 PRINT "ENTER T"
4540 INPUT T
4550 GOSUB 6210
4560 GOTO 5000
5000 REM PRINT ANSWERS
5010 L = 6
5020 GOSUB 18000
5030 PRINT "ACCELERATION: ";A;" ";D«;" PER ";T«;
5040 PRINT
5050 PRINT "VELOCITY: "JV;" ";D*;" PER ";T*
5060 PRINT
5070 PRINT "DISTANCE:
5080 PRINT
5090 PRINT "TIME:
5100 PRINT
5110 PRINT
5120 PRINT "ENTER MORE VALUES (YES OR NO)"
5130 INPUT S*
5140 IF S* = "NO" THEN 20000
5150 PRINT
5160 PRINT "SAME UNITS OF l«ASUREMENT?"
5170 PRINT " (YES OR NO) "
5 ISO INPUT S»
5190 IF S« = "NO" THEN 3000
5200 GOTO 4000
6000 REM CALCULATIONS
6010 REM A. GIVEN ACCEL. MMD TIME
6020 V = A ♦ T
6030 D = T'^2*A» .5
6040 RETURN
6050 REM B. GIVEN ACCEL. AND DISTANCE
6060 T = ((2 * D) /A) -^ .5
6070 V= (2«A*D) ^".5
6080 RETURN
6090 REM C. GIVEN ACCEL. AND FINAL VEL.
6100 T = V / A
6110 D = (V ^ 2) / (2 * A)
6120 RETURN
6130 REM D. GIVEN FINAL VELOCITY AND DISTANCE
6140 A = (V -^ 2) / (2 • D)
6150 T = (2 * D) / V
6160 RETURN
6170 REM E. GIVEN FINAL VELOCITY AND TIME
6180 A = V / T
6190 D = (V * T) / 2
6200 RETURN
6210 REM F. GIVEN DISTANCE AND TIME
PER ";t*
246
6220 A= (2»D) /T''2
6230 V = <2 ♦ D> / T
6240 RETURN
18000 REM SCROLL
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO DE
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT
20020 PRINT
20030 PRINT "I HOPE YOU HAD FUN, ";NA*;
20040 PRINT "BYE FOR NOW!"
200S0 END
TABLE OF VARIABLES
A - ACCELERATION
4220 4280 4340 5030 6020 6030
6060 6070 6100 61 lO 6140 6180
6220
D - DISTANCE
2240 4300 4420 4520 5070 6030
6060 6070 61 lO 6140 61SO 6190
6220 6230
D* - DISTANCE UNIT
3070 31 lO 3140 3170 5030 5050
5070
DE - DELAY
2040 21 lO 19010
I - COUNTER
2080 2100 18010 18030 19010
19020
J - COUNTER
2030 2040 2070
L - LINES OF SCROLLING
2010 2130 2170 2260 2520 3220
4180 5010 18010
NA« - NAME
2190 2230 20030
S* - STUDENT INPUT
2510 3210 5130 5140 5180 5190
247
SA - STUDENT INPUT
4160 4170 4170 4200
T - TIME
4240 4480 4540 5090 6020 6030
6060 6100 6150 6180 6190 6220
6230
T* - TIME UNIT
3030 3090 3140 3170 3170 5030
5030 5050 5090
V - VELOCITY
4360 4400 4460 5050 6020 6070
6100 61 lO 6140 6150 6180 6190
6230
END OF VAR. LIST
SAMPLE RUN
IT'S NICE TO SEE YOU!
WHAT IS YOUR NAME?
7CARRIE
I HOPE YOU HAVE A GOOD TIME, CARRIE.
THIS IS A PROGRAM WHICH WILL HELP
YOU TO BETTER UNDERSTAND ACCELERATION.
YOU SHOULD FIRST READ ABOUT TIME,
DISTANCE, VELOCITY, AND ACCELERATICMM
IN A SCIENCE BOOK TO GET A BASIC
UNDERSTANDING OF THEM.
IN THIS PROGRAM, YOU CAN PICK ANY UNITS
YOU WANT TO USE TO REPRESENT TIME AND
DISTANCE. THE ANSWERS WILL BE IN THOSE
SAME UNITS.
THERE ARE TWO LIMITATIONS
DON'T TYPE IN '0' FOR A VALUE!
<SOME OF MY EQUATIONS WOULD MAKE ME TRY
TO DIVIDE BY 0!)
ALSO, I DON'T CHECK TO SEE IF YOU HAVE
ACCELERATED BEYOND THE SPEED OF LIGHT!
(SOMETHING HARD TO DO IN REAL LIFE!)
PRESS 'RETURN' TO CONTINUE.
248
WHAT UNIT DO YOU WANT TO USE FOR TIME?
(SECONDS, MINUTES, HOURS, ETC.)
7SEC0NDS
WHAT UNIT DO YOU WANT FOR DISTANCE?
(METERS, KILOMETERS, MILES, ETC.)
?FEET
TIME WILL BE IN SECONDS.
DISTANCE WILL BE IN FEET.
VELOCITY WILL BE IN
FEET PER SECONDS.
ACCELERATION WILL BE IN
FEET PER SECONDS PER SECONDS.
PRESS 'RETURN' TO CONTINUE.
•7
SELECT ONE AND ENTER THE NUMBER.
1. GIVEN A & T, FIND V «c D
2. GIVEN A «t D, FIND V & T
3. GIVEN A & V, FIND D & T
4. GIVEN V «c D, FIND A & T
5. GIVEN V «t T, FIND A & D
6. GIVEN D 8t T, FIND A «c V
?5
ENTER V
7300
ENTER T
?2
ACCELERATION: 150 FEET PER SECONDS PER SECONDS
VELOCITY: 300 FEET PER SECONDS
DISTANCE: 300 FEET
TIME: 2 SECONDS
ENTER MORE VALUES (YES OR NO)
?NO
249
I HOPE YOU HAD FUN, CARRIE!
BYE FOR NOW!
250
Ballistics
PROGRAM DESCRIPTION
The science of ballistics is demonstrated in this program. The
computer simulates the flight of a cannonball. You must supply
the angle at which the cannon is to be fired. This angle is expressed
in a range of "0" to "90" degrees. In addition, you will have to
decide on the velocity of the cannonball since you can vary the
amount of gunpowder in the cannon. As a helpful hint, velocities
in the range of 200 to 300 meters per second are usually very
effective. The object is to hit the target in as few tries as
possible.
This program calculates the "pure" parabolic path of the
projectile. It does not consider wind resistance.
PROGRAM NOTES
1. This is a program for the graphics enthusiast. If you have
graphics ability, you can plot the trajectory by incrementing
time (figure altitude and range every 0.5 seconds of flight
time). Then plot appropriate values of X and Y on the
screen.
2. There seems to be some problem with getting the Microsoft
BASIC to print out 40 characters. Even with the POKE 82,0
command, it wants to cut the display after 38 characters on a
line. As a result, the "firing range" is a bit shorter for the
Microsoft BASIC version. Certainly there must be another
POKE around somewhere to fix this!
251
3. Depending on the level of the students, you might want to add
prompting, like "Try a slightly lower angle," etc.
PROGRAM LISTING: BASIC
lOO REM BALLISTICS BY GARY 0RWI6
lOOO REM INITILIZATION
lOlO 6=9.8
1020 DIM NA«(30),S«(10)
1030 REM USE FULL SCREEN
1040 POKE 82,0
1050 PRINT
REM INTRODUCTION
FOR 1=1 TO lO
FOR J=l TO I
PRINT "BALLISTICS ";
NEXT J
PRINT
PRINT
NEXT I
DE=200
60SUB 19000
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
L=24
60SUB
PRINT
L=12
GOSUB
INPUT
2160 PRINT
2170 PRINT
18000
"WHAT
18000
NA«
IS YOUR NAME?'
•NICE TO MEET YOU, ";NA«;".
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
24 lO
2420
L=3
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
L=13
GOSUB
PRINT
GOSUB
DE=200
18000
"THIS IS A PROGRAM WHICH
"FLIf^T OF A CANNON BALL.
SIMULATES THE-
"YOU MUST SUPPLY THE ANGLE AT WHICH"
"THE GUN IS TO BE FIRED. THIS IS AN"
"ANGLE EXPRESSED IN A RANGE OF "
"O TO 90 DEGREES."
"IN ADDITION, YOU WILL HAVE TO DECIDE"
"ON THE VELOCITY OF THE CANNON BALL. "
"SINCE YOU CAN VARY THE AMOUNT OF "
"GUNPOWDER IN THE CANNON, THIS IS NOT"
"A PROBLEM. USUALLY VELOCITIES IN THE"
"RANGE OF 200 TO 300 METERS PER SECOND"
"ARE EFFECTIVE."
"PRESS
S«
18000
■i
18000
•RETURN' TO CONTINUE.
HERE WE 60!"
252
2430
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
6000
6010
6020
6030
6040
6050
6060
6070
6080
6090
7000
7010
7020
7030
7040
7050
7060
7070
7080
7090
7100
JRX;" METERS.
GOSUB 19000
REM MAIN PROGRAM
GOSUB 10000
L=24
GOSUB 18000
PRINT "TARGET RANGE IS
PRINT "ENTER ELEVATION ANGLE IN DEGREES:";
INPUT ED
IF ED<90 THEN 4100
PRINT "YOU'RE SHOOTING THE WRONG WAY, ";NA«;"!"
GOTO 4050
PRINT "ENTER VELOCITY IN M/S:";
INPUT VI
GOSUB 6000
18000
BOOM ! "
18000
GOSUB
PRINT
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB 7000
GOSUB llOOO
ELEVATION:
INIT. VELOCITY:
TOTAL DISTANCE:
"MAXIMUM ELEVATION:
';ED;" DEGREES"
";vi;" M/S"
;D;'' METERS'
';H5
METERS"
TOTM. TIME IN AIR: "jT;" SEC.
THEN 12000
THEN GOSUB
IF HT=2
IF HT=1 THEN GOSUB 12500
IF HT=0 THEN GOSUB 14000
GOTO 4040
REM CALULATIONS
ER=ED*0. O 174533
H=(VI*SIN(ER) )'^2/<2»G)
H=INT<H)
T=(2*VI*SIN<ER))/G
D=COS(ER)»VI«T
T=INT(T)
D=INT<D)
DB=INT ( (D/200) +0. 5)
RETURN
REM PLOT RESULTS
PRINT
PRINT
IF DB<41 THEN 7070
PRINT " OUT OF SIGHT!
PRINT "
GOTO 7150
FOR 1=1 TO DB-3
PRINT " ";
NEXT I
PRINT "CRASH"
>»'
253
71 lO FOR 1=1 TO DB-1
7120 PRINT •• ••;
7130 NEXT I
7140 PRINT "«"
7150 PRINT "X/";
71&0 FOR 1=1 TO DT-4
7170 PRINT " ••;
7180 NEXT I
7190 PRINT ■"-'-^'"•
7200 FOR 1=1 TO 40
7210 PRINT •■*••;
7220 NEXT I
7230 FOR 1=1 TO DT-1
7240 PRINT " ••;
7250 NEXT I
7260 PRINT •"^"
7270 FOR 1=1 TO DT-3
7280 PRINT •• ";
7290 NEXT I
7300 PRINT RX
7310 RETURN
lOOOO REM RANDOMIZATION OF RANGE
lOOlO R=INT<RND<0)»11)
10020 RX=5000+(200*R)
10030 DT=INT((RX/200)+0.5)
10040 RETURN
llOOO REM JUDGE RESULTS
IIOIO HT=0
11020 IF DB=DT THEN HT=2
11030 IF DB=DT+1 THEN HT=1
11040 IF DB=DT-1 THEN HT=1
llOSO RETURN
12000 REM REWARD
12010 FOR 1=1 TO &0
12020 PRINT " KAPOW!! "J
12030 NEXT I
12040 PRINT
12050 PRINT
12060 PRINT "DIRECT HIT!"
12070 DE=200
12080 60SUB 19000
12090 L=24
12100 60SUB 18000
121 lO GOTO 20000
12500 REM CLOSE HIT
12510 PRINT "OUCH! !
12S20 RETURN
14000 REM MISS
14010 PRINT "HA HA! MISSED ME
14020 RETIARN
18000 REM SCROLLING
18010 FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
DAMAGED, BUT NOT OUT!
254
19010 FOR 1=1 TO DE
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT "WANT TO TRY AGAIN?"
20020 PRINT "TYPE IN 'YES' OR 'NO'"
20030 INPUT S*
20040 IF S*="YES" THEN 4000
20050 PRINT "BYE FOR NOW, ";NA»;"!"
TABLE OF VARIABLES
6
1010 6020 6040
NA«
1020 2150 2170 4080 20050
S«
1020 2370 20030 20040
I
2010 2020 2070 7070 7090 7110
7130 7160 7 ISO 7200 7220 7230
7250 7270 7290 12010 12030 ISO 10
18030 19010 19020
J
2020 2040
DE
20S0 2420 12070 19010
L
2100 2130 2180 2380 4020 12090
18010
RX
4040 7300 10020 10030
ED
4060 4070 4170 6010
VI
4110 4190 6020 6040 6050
D
42 lO 6050 6070 6070 6080
H
4230 6020 6030 6030
T
4250 6040 6050 6060 6060
255
HT
4300 4310 4320 11010 11020 11030
11040
ER
6010 6020 6040 6050
DB
6080 7030 7070 7110 11020 11030
11040
DT
7160 7230 7270 10030 11020 11030
11040
10010 10020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM BALLISTICS BY GARY ORWIG
500 REM RESEED RND
SIO RANDOMIZE
lOOO REM INITILIZATION
lOlO G = 9. SO
1020 REM USE FULL SCREEN
1030 Pf3KE 82,
1040 CLS
2000 REM INTRODUCTION
2010 FOR I = 1 TO 10
2020 FOR J = 1 TO I
2030 PRINT "BALLISTICS ";
2040 NEXT J
20S0 PRINT
2060 PRINT
2070 NEXT I
2080 DE = lOOO
2090 GOSUB 19000
2100 L = 24
2110 GOSUB 18000
2120 PRINT "WHAT IS YOUR NAME?"
2130 L = 12
2140 GOSUB 18000
2150 INPUT NA«
2160 PRINT
2170 PRINT
2180 L » 3
2190 GO^JB
"NICE TO MEET YOU, ";NA*;",
18000
"THIS IS A PROGRAM WHICH SIMULATES Tl^"
"FLIGHT OF A CANNON BALL."
2220 PRINT
2230 PRINT "YOU MUST SUPPLY THE ANGLE AT WHICH"
2240 PRINT "THE GUN IS TO BE FIRED. THIS IS AN"
2250 PRINT "ANGLE EXPRESSED IN A RANGE OF "
2260 PRINT "O TO 90 DEGREES."
2200 PRINT
2210 PRINT
256
2270
2280
2300
2310
2320
2330
2340
2350
2360
2380
2390
2400
2410
2420
2430
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
6000
6010
6020
6030
6040
"IN ADDITION, YOU WILL HAVE TO DECIDE"
"ON THE VELOCITY OF THE CANNON BALL."
"SINCE YOU CAN VARY THE AMOUNT OF "
"GUNPOWDER IN THE CANNON, THIS IS NOT"
"A PROBLEM. USUALLY VELOCITIES IN THE"
"RANGE OF 200 TO 300 METERS PER SECOND"
"ARE EFFECTIVE."
"PRESS 'RETURN' TO CONTINUE."
HERE WE GO ! "
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT S*
L = 13
GOSUB 18000
PRINT "
GOSUB 18000
DE = lOOO
GOSUB 19000
REM MAIN PROGRAM
GOSUB lOOOO
L = 24
GOSUB 18000
TARGET RANGE IS
ENTER ELEVATION ANGLE IN DEGREES
INPUT ED
IF ED < 90 THEN 4100
PRINT "YOU'RE SHOOTING THE WRONG WAY,
GOTO 4050
PRINT "ENTER VELOCITY IN M/S:";
INPUT VI
GOSUB 6000
18000
BOOM \ "
18000
PRINT
PRINT
;RX;" METERS."
";na*j"!
elevation:
VELOCITY:
TOTAL DISTANCE:
MAXIMUM elevation: ";h;" meters*
"TOTAL TIME IN AIR:
GOSUB
PRINT
GOSUB
PRINT
PRINT
PRINT
PRINT "INIT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB 7000
GOSUB llOOO
IF HT = 2 THEN 12000
IF HT = 1 THEN GOSUB
IF HT = O THEN GOSUB
GOTO 4040
REM CALULATIONS
ER = ED * .0174533
H = (VI » SIN (ER)) -^
H = INT (H)
T = (2 * VI » SIN (ER))
";ed;
';vii
DEGREES"
M/S'
";D;" METERS'
;T;" SEC.
12500
14000
2 / (2 * G)
/ G
257
6050 D = COS <ER) * VI ♦ T
60&0 T = INT (T)
6070 D = INT <D)
6080 DB = INT < (D / 200) + .5)
6090 RETURN
7000 REM PLOT RESULTS
7010 PRINT
7020 PRINT
7030 IF DB < 41 THEN 7070
7040 PRINT " OUT OF SIGHT!"
7050 PRINT •• >»•
7060 SOTO 7150
7070 FOR I = 1 TO DB - 3
7080 PRINT " ";
7090 NEXT I
7100 PRINT "CRASH"
7110 FOR I = 1 TO DB - 1
7120 PRINT " ";
7130 NEXT I
7140 PRINT "#"
7150 PRINT "X/";
7160 FOR I = I TO DT - 4
7170 PRINT " ";
7180 NEXT I
7190 PRINT "^^^-
7200 FOR I = 1 TO 38
7210 PRINT "♦";
7220 NEXT I
7230 PRINT
7240 FOR I = 1 TO DT - 1
7250 PRINT " ";
7260 NEXT I
7270 PRINT "''"
7280 FOR I = 1 TO DT - 3
7290 PRINT " "i
7300 NEXT I
7310 PRINT RX
7320 RETURN
lOOOO REM RANDOMIZATION OF RANGE
lOOlO R = RND(9)-1
10020 RX = 5000 + <200 * R)
10030 DT = INT <(RX / 200) + .5)
10040 RETURN
llOOO REM JUDGE RESULTS
IIOIO HT = O
11020 IF DB = DT THEN HT = 2
11030 IF DB = DT + 1 THEN HT = 1
11040 IF DB = DT - 1 THEN HT = 1
llOSO RETURN
12000 REM REWARD
12010 FOR I = 1 TO 60
12020 PRINT " KAPOW! ! ";
12030 NEXT I
12040 PRINT
12050 PRINT
12060 PRINT "DIRECT HIT!"
258
12070 DE = 1000
12080 GOSUB 19000
12090 L = 24
12100 GOSUB 18000
12110 GOTO 20000
12500 REM CLOSE HIT
12510 PRINT "OUCH!! DAMAGED, BUT NOT OUT!
12520 RETURN
14000 REM MISS
14010 PRINT "HA HA! MISSED ME!!"
14020 RETURN
18000 REM SCROLLING
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FC« I = 1 TO DE
19020 NEXT I
19030 RETURN
20000 REM CLOSING
20010 PRINT "WANT TO TRY AGAIN?"
20020 PRINT "TYPE IN 'YES' OR 'NO'"
20030 INPUT S*
20040 IF S* = "YES" THEN 4000
20050 PRINT "BYE FOR NOW, ";NA*;"!"
TABLE OF VARIABLES
D - TOTAL DISTANCE
4210 6050 6070 6070 6080
DB - DISTANCE IN SCALE
6080 7030 7070 7110 11020 11030
11040
DE - DELAY
2080 2420 12070 19010
DT - DISTANCE TO TARGET IN SCALE
7160 7230 7270 10030 11020
11030 11040
ED - ELEVATION IN DEGREES
4060 4070 4170 6010
ER - ELEVATION IN RADIANS
6010 6020 6040 6050
G - ACCELERATION OF GRAVITY
1010 6020 6040
H - MAXIMUM ELEVATION
4230 6020 6030 6030
259
HT - HIT
4300 4310 4320 IIOIO 11020
11030 11040
I - COUNTER
2010 2020 2070 7070 7090 7110
7130 7160 7180 7200 7220 7230
7250 7270 7290 12010 12030
18010 18030 19010 19020
J - COUNTER
2020 2040
L - SCROLLING LINES
2100 2130 2180 2380 4020 12090
18010
NA« - NAME
2150 2170 4080 20050
R - RANDOM NUMBER
lOOlO 10020
RX - TARGET RANGE IN METERS
4040 7300 10020 10030
S« - STUDENT INPUT
2370 20030 20040
T - TIME IN AIR IN SECONDS
4250 6040 6050 6060 6060
VI - INITIAL VELOCITY
41 lO 4190 6020 6040 6050
END OF VAR. LIST
SAMPLE RUN
WHAT IS YOUR NAME?
?BRAD
NICE TO MEET YOU, BRAD.
THIS IS A PROGRAM WHICH SIMULATES THE
FLIGHT OF A CANNON BALL.
YOU MUST SUPPLY THE ANGLE AT WHICH
THE GUN IS TO BE FIRED. THIS IS AN
ANGLE EXPRESSED IN A RANGE OF
O TO 90 DEGREES.
IN ADDITION, YOU WILL HAVE TO DECIDE
260 ON THE VELOCITY OF THE CANNON BALL.
SINCE YOU CAN VARY THE AMOUNT OF
GUNPOWDER IN THE CANNON, THIS IS NOT
A PROBLEM. USUALLY VELOCITIES IN THE
RANGE OF 200 TO 300 METERS PER SECOND
ARE EFFECTIVE.
PRESS 'RETURN' TO CONTINUE.
'7
HERE WE GO!
TARGET RANGE IS 6200 METERS.
ENTER ELEVATION ANGLE IN DEGREES: ?45
ENTER VELOCITY IN M/S:?250
BOOM!
ELEVATION: 45 DEGREES
INIT. VELOCITY: 250 M/S
TOTAL DISTANCE: 6377 METERS
MAXIMUM ELEVATION: 1594 METERS
TOTAL TIME IN AIR: 36 SEC.
CRASH
«
X/ -^-^-^
6200
OUCH!! DAMAGED, BUT NOT OUT!
TARGET RANGE IS 6200 METERS.
ENTER ELEVATION ANGLE IN DEGREES: ?44
ENTER VELOCITY IN M/S: 7250
BOOM!
ELEVATION: 44 DEGREES
INIT. VELOCITY: 250 M/S
TOTAL DISTANCE: 6373 METERS 261
MAXIMUM ELEVATION: 1538 METERS
TOTAL TIME IN AIR: 35 SEC.
CRASH
#
x/ -^-^-^
6200
OUCH!! DAMAGED, BUT NOT OUT!
TARGET RANGE IS 6200 METERS.
ENTER ELEVATION ANGLE IN DEGREES: ?40
ENTER VELOCITY IN M/S:?250
BOOM!
ELEVATION:
INIT. VELOCITY:
TOTAL DISTANCE:
MAXIMUM ELEVATION:
TOTAL TIME IN AIR:
40 DEGREES
250 M/S
6280 METERS
1317 METERS
32 SEC.
CRASH
*
X/ -^^^
****************************************
6200
KAPOW ! ! KAPOW
KAPOW
! ! KAPOW ! !
KAPOW! ! KAPOW
KAPOU
1 ! • KAPOW ! !
KAPOW ! ! KAPOW
KAPOW
1 ! ! KAPOW ! !
KAPOW! ! KAPOW
KAPOW
1 ! ! KAPOW ! !
KAPOW! !
KAPOW ! !
KAPOW ! ! KAPOW ! !
KAPOW! !
KAPOW ! !
KAPOW ! ! KAPOW ! !
KAPOW ! !
KAPOW! !
KAPOW ! ! KAPOW ! !
KAPOW ! !
KAPOW! !
KAPOW ! ! KAPOW ! !
KA
POW
! ! KAPOW ! !
KAPOW ! !
KAPOW ! ! KAPOW
! ! KAPOW ! !
KAPOW ! !
KAPOW! ! KAPOW
! ! KAPOW ! !
KAPOW ! !
KAPOW ! ! KAPOW
! ! KAPOW ! !
KAPOW ! !
KAPOW ! !
262
KAPOW !
KAPOW !
KAPOW !
KAPOW !
KAPOW !
KAPOW !
KAPOW ! !
KAPOW ! !
KAPOW ! !
KAPOW ! !
KAPOW! !
KAPOW ! !
DIRECT HIT!
WANT TO TRY AGAIN?
TYPE IN 'YES' OR 'NO'
?N0
BYE FOR NOW, BRAD!
263
Car Wash
PROGRAM DESCRIPTION
This program simulates the planning and operation of a
typical car wash. You operate a car wash for five Saturdays with the
sole objective of making as much money as you possibly can. You
have a total of five helpers^ each of whom can wash a maximum of
20 cars during the day. One important hint: Pay careful attention
to the weather forecasts^ since rainy days can cause you to lose a
great deal of money!
The main variables in this program are as follows:
A. Price per wash
B. Weather
C. Amount of advertising
D. Traffic
L Number of helpers
PROGRAM NOTES
264
1. You can vary the weather by changing variables A, B, C, and D
in lines 6400-6620. These four variables represent the odds
given to the four outcomes by any of the four predictions.
2. Consider adding other factors such as: A. Gas station owner
demands 10 dollars per day rent. B. Sunburn strikes down 2
workers.
3. Consider using the PRINT USING command in the Microsoft
BASIC to smooth out the display of dollars and cents.
PROGRAM LISTING: BASIC
100 REM CAR WASH BY GARY ORWIG
lOOO REM INITIALIZATION
lOlO BA=25
1020 WA=5
1030 DIM S«(5),SF»<30),WF»<30),WP»(30)
1040 REM USE FULL SCREEN
1050 POKE 82, O
1060 PRINT
2000 REM INTRODUCTION
2010 L=24
2020 60SUB 18000
2030 PRINT " CAR WASH!"
2040 L=12
20S0 60SUB 18000
2060 DE=200
2070 60SUB 19000
2080 L=24
2090 60SUB
2100 PRINT
2110 PRINT
2120 PRINT
2130 PRINT
PRINT
18000
"YOU ARE
GOING TO START A CAR WASH!"
2140
2150 PRINT
2160 PRINT
2170 PRINT
2180 PRINT
2190 PRINT
2200 PRINT
2210 PRINT
2220 PRINT
2230 PRINT
2240 PRINT
2250 PRINT
2260 PRINT
"YOU WILL RUN IT FOR FIVE DAYS"
"WITH THE SOLE OBJECT BEING TO MAKE'
"AS MUCH MONEY AS POSSIBLE!"
"YOU WILL HAVE A TOTAL OF 5 WORKERS,"
"EACH OF WHOM CAN WASH A MAXIMLRI OF"
"20 CARS DURING THE DAY."
"AS YOU WILL SEE, THERE ARE A"
"NUMBER OF FACTORS YOU MUST CONSIDER,'
"BUT BY ALL MEANS, YOU NEED TO WATCH"
"THE WEATHER FORECASTS, SINCE RAINY"
"WEATHER WILL DO YOU IN!"
2270
2280
2290
2300
2310
4000
4010
4020
4030
4040
"THE ONLY WAY TO LEARN IS BY DOING, SO"
"WHEN YOU ARE READY, PUSH THE 'RETURN"
"KEY. "
18000
S«
PROGRAM
20000
PRINT
PRINT
L=3
GOSUB
INPUT
REM MAIN
DA=DA-i-l
IF DA=6 THEN
WA=S
L=24
4050 GOSUB 18000
4060 PRINT "TODAY IS DAY NUMBER ";DA;
4070 L=6
4080 GOSUB 18000
4090 DE=200
4100 GOSUB 19000
4110 GOSUB 6320
4120 PRINT
4130 PRINT "THE WEATHER FORECAST
4140 PRINT WP*
4150 L=12
IS:
265
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
4560
4570
4580
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
266 4730
BALANCE OF ";BA;" DOLLARS.
'WHAT PRICE ARE YOU GOING TO CHARGE";
60SUB 18000
DE=200
60SUB 19000
GOSUB 18000
PRINT "YOU HAVE A
PRINT
PRINT
INPUT P
GOSUB 6010
IF P<0.26 OR P>4.49 THEN 4220
PRINT
IT COSTS ABOUT .25 PER CAR FOR MATERIALS'
PRESENTLY YOU HAVE ■•;««;" DOLLARS"
WORTH OF SOAP, SPONGES, RAGS, ETC. "
DO YOU WISH TO ADD TO THIS (YES OR NO) "
PRINT
PRINT
PRINT
PRINT
INPUT S*
IF S«="NO'
THEN 4400
PRINT
PRINT "ENTER THE AMOUNT YOU WANT TO ADD."
INPUT SA
GOSUB 7000
IF SA>0 THEN 4340
PRINT "YOU NOW HAVE *";MM;" WORTH OF MATERIALS.
PRINT "AND A BALANCE OF «";BA
PRINT
REM
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
"BALANCE - «";BA
"AMOUNT SPENT ON ADVERTISING = ♦";TT
"YOU HAVE A CHOICE OF THE FOLLOWING"
"FORMS OF ADVERTISING:"
MEDIUM
COST PER UNIT'
"1.
"2.
"3.
"4.
RADIO
NEWSPAPER
POSTERS
KIDS AT CURB
♦20.00'
♦5.00*
«1.00'
♦ l.OO'
(OR O FOR NONE) .
PICK A NUMBER
INPUT SA
IF SA=0 THEN 4750
IF SA=4 THEN 4610
PRINT "HOW MANY UNITS?"
INPUT UN
GOSUB 4710
PRINT "YOU NOW HAVE ";WA;" KIDS TO WASH CARS"
"AND ";5-WA;" KIDS AT THE CURB"
"WAVING CARS IN. EACH KID AT THE CURB"
"HAS A POSTER («1.00) #MMD A BIG SMILE,"
"♦»*»»»#*BUT THEY CAN'T WASH CARS !♦♦***»'
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
WA=5
INPUT UN
GOSUB 6130
TT=TT+TL
BA=BA-TL
"HOW MANY OF YOUR
"THE CURB?"
5 KIDS DO YOU WANT AT'
4740
4750
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5120
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
5500
5510
5520
5530
5540
5550
5S60
5570
SS80
5590
5600
5610
5620
5630
S640
5&50
5660
5670
S! "
5680
5690
5700
5710
5720
5730
5740
6000
6010
6020
6030
6040
6050
6060
6070
GOTO 4410
REM
REM LIST VARIABLES
L=24
18OO0
" SUMMARY FOR START OF DAY
;DA
"WEATHER FORECAST: ";WP«
"CASH ON HAND : «";BA
"CASH VALUE OF CAR WASH SUPPLIES
"NUMBER OF 'CURB KIDS': ";5-WA
"NUMBER OF CAR WASHERS: ";WA
"PRICE PER CAR: *";P
"PRESS 'RETURN'"
"TO BET THE DAY GOING!"
60SUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L=3
eOSUB 18000
INPUT S%
REM WASH CARS!
GOSUB 6640
GOSUB 6750
GOSUB 68SO
IC=P*VW
BA=BA+IC
PRINT "WEATHER: ";WF«
PRINT "TRAFFIC: ";SF«
PRINT "VEHICLES WASHED: ";VW
PRINT "VEHICLES NOT WASHED: '
PRINT "INCOME: *";IC
PRINT "COST OF MATERIALS USED:
PRINT "MATERIALS STARTED WITH:
PRINT "BALANCE ON HAND: *";BA
MM=MM-(VW»0.25)
TT=0
PRINT
IF VI>WA»20 THEN PRINT "TOO MANY CARS FOR
IF MM<0.25 THEN PRINT "OUT OF SUPPLIES!"
PRINT
PRINT "PRESS 'RETURN' TO CONTINUE."
L=6
GOSUB 18000
INPUT S*
GOTO 4000
REM CALCULATIONS
REM PRICE FACTOR
IF P<4.5 THEN 6040
PRINT "YOUR PRICE IS TOO HIGH!"
IF P>0.25 THEN 6060
PRINT "YOUR PRICE IS TOO LOW!"
IF P<0.76 THEN PF=2
IF P>0.75 AND P<1.26 THEN PF=1.5
I MM
';vi-vw
*"iVW*0.25
«";MM
;wa;" was^^R
267
6080 IF P>1.25 AND P< 1 . 76 THEN PF=1
6090 IF P>1.75 AND P<2.51 THEN PF=0.75
6100 IF P>2.5 AND P<3.51 THEN PF=0.5
6110 IF P>3.5 THEN PF=0.25
6120 RETURN
6130 REM ADVERTISING FACTOR
6140 ON SA GOTO 6150,6190,6230,6270
6150 TL=20*UN
6160 GOSUB 11000
6170 AF=AF+0. 1*UN
6180 RETURN
6190 TL=5»UN
6200 GOSUB llOOO
62 lO AF=AF+0. 05*UN
6220 RETURN
6230 TL=1»UN
6240 GOSUB llOOO
6250 AF=AF+0.02*UN
6260 RETURN
6270 TL=1»UN
6280 WA==UIA-UN
6290 GOSUB llOOO
6300 AF=AF+0.2*UN
6310 RETURN
6320 REM WEATHER PREDICTION
6330 N=100
6340 GOSUB lOOOO
6350 IF R<31 THEN WP=1
6360 IF R>30 AND R<61 THEN WP=2
6370 IF R>60 AND R<86 THEN WP=3
6380 IF R>85 THEN WP=4
6390 ON WP GOTO 6400,6460,6520,6580
6400 WP«="10y. CHANCE OF RAIN"
6410 A=50
6420 B=30
6430 C=10
6440 D=10
6450 RETURN
6460 WP*="257. CHANCE OF RAIN"
6470 A=30
6480 B=35
6490 C=20
6500 D=15
6510 RETURN
6520 WP*="507. CHANCE OF RAIN"
6530 A=15
6540 B=20
6550 C=30
6560 D=35
6570 RETURN
6580 WP»="907. CHANCE OF RAIN"
6590 A=5
6600 B=10
66 lO C=20
6620 D=65
6630 RETURN
268
6640
6650
6660
6670
6680
6690
6700
6710
6720
6730
6740
6750
6760
6770
6780
6790
6800
6810
6820
6830
6840
68SO
6860
6870
6880
6890
6900
69 lO
6920
6930
6940
6950
7000
7010
7020
7030
7040
7050
7060
7070
lOOOO
lOOlO
10020
llOOO
IIOIO
11020
11030
11040
11050
11060
11070
11080
11090
18000
18010
18020
REM ACTUAL WEATHER
GOSUB 10000
IF R<A+1 THEN WF=1.5
R>A AND R<A+B+1 THEN WF=1
R>A+B AND R<A+B+C+1 THEN WF=0.5
R>A+B+C THEN WF=1.0E-03
WF=1.5 THEN WF*="HOT AND SUNNY"
WF=1 THEN WF*=" PARTLY SUNNY"
WF=0.5 THEN WF«= " CLOUDY "
WF=l.0E-03 THEN WF*="RAIN!"
RETURN
REM STREET FACTOR
N=10
GOSUB 10000
IF R<4 THEN SF»1.3
IF R>3 AND R<10 THEN SF=1
IF R=10 THEN SF=0.5
3 THEN SF«=" HEAVY TRAFFIC"
THEN SF*=" AVERAGE TRAFFIC"
5 THEN SF*=" STREET REPAIRS!"
IF
IF
IF
IF
IF
IF
IF
IF SF=1.
IF SF=1
IF SF=0.
RETURN
REM BUSINESS FOR DAY
VI=INT <50*PF* < AF+1 ) *WF»SF)
VM=WA»20
ML=MM/0, 25
IF VKVM THEN 6920
VW=VM
GOTO 6950
VW=VI
IF VW<ML THEN 6950
VW=ML
RETURN
REM ADD TO MATERIALS
IF SA>BA THEN GOTO 7060
BA=BA-SA
MM=MM+SA
SA=0
RETURN
PRINT "THAT'S MORE THAN YOU HAVE!"
RETURN
REM RANDOMIZATION
R=INT (RND (0) *N) +1
RETURN
REM CHECK BALANCE
IF TL>BA OR WA<1 THEN 11030
RETURN
IF TL>BA THEN GOTO 11050
GOTO 11080
PRINT "YOU DON'T HAVE *";TL;"!"
TL=0
GOTO 4400
PRINT "THERE'S NO ONE LEFT TO WASH CARS!
GOTO 46 lO
REM SCROLLING
FOR 1=1 TO L
PRINT
269
18030
18040
19000
19010
19020
19030
20000
20010
20020
20030
20040
20050
20060
20070
20080
20090
20100
201 lO
20120
NEXT I
RETURN
REM DELAY
FOR 1=1 TO DE
NEXT I
RETURN
REM CLOSING
L=24
GOSUB 18000
PRINT "YOUR 5 DAYS AWE OVER!"
PRINT
PRINT "YOU HAVE ACCUMULATED A TOTAL OF "
PRINT BA;" DOLLARS!"
PRINT "DIVIDED 5 WAYS (REMEMBER YCMJR 4"
"PARTNERS), THAT MAKES ";BA/5S" DOLLARS"
"PER PERSON!"
PRINT
PRINT
L=6
GOSUB
END
18000
TABLE OF VARIABLES
BA
WA
1010
4200
4390
4420
4730
4730
5070
5550
5550
5630
7010
7020
7020
iioio
11030
20060
20080
1
1020
4030
4610
4620
4690
5130
5150
5670
5670
6280
6280
6870
IIOIO
s«
1030 2310 4310 4320 5230 3730
SF*
1030 5570 6810 6820 6830
WF«
1030 5560 6700 6710 6720 6730
WP*
1030 4140 5050 6400 6460 6520
6580
2010 2040 2080 2290 4040 4070
4150 5010 5210 5710 ISOIO 20010
20100
DE
2060 4090 4170 19010
270
DA
4010 40 lO 4020 4060 5030
P
4230 4250 4250 5170 5540 6020
6040 6060 6070 6070 6080 6080
6090 6090 6100 6100 6110
MM
4280 4380 S090 5620 5640 5640
5680 6880 7030 7030
SA
4350 4370 4550 4560 4570 6140
70 lO 7020 7030 7040
TT
4430 4720 4720 5650
UN
4590 4700 6150 6170 6190 6210
6230 6250 6270 6280 6300
TL
4720 4730 6150 6190 6230 6270
IIOIO 11030 11050 11060
IC
5540 5550 5600
VW
5540 5580 5590 56 lO 5640 6900
6920 6930 6940
VI
5590 5670 6860 6890 6920
PF
6060 6070 6080 6090 61 CO 6110
6860
AF
6170 6170 6210 6210 6250 6250
6300 6300 6860
N
6330 6760 lOOlO
R
6350 6360 6360 6370 6370 6380
6660 6670 6670 6680 6680 6690
6780 6790 6790 6800 10010
WP
6350 6360 6370 6380 6390
271
A
6410 6470 6530 6590 6660 6670
6670 6680 6680 6690
B
6420 6480 6540 6600 6670 6680
6680 6690
C
6430 6490 6550 6610 6680 6690
D
6440 6500 6560 6620
WF
6660 6670 6680 6690 6700 6710
6720 6730 6860
SF
6780 6790 6800 68 lO 6820 6830
6860
VH
6870 6890 6900
ML
6880 6930 6940
I
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM CAR WASH BY 6ARY 0RWI6
500 REM RESEED RND
51 O RANDOMIZE
lOOO REM INITIALIZATICMM
lOlO BA = 25. CO
1020 WA = 5
1030 REM USE FULL SCREEN
1040 POKE 82,0
1050 CLS
2000 REM INTRODUCTION
2010 L = 24
2020 GOSUB 18000
2030 PRINT " CAR WASH!"
2040 L = 12
2050 GOSUB 18000
2060 DE = 1500
2070 GOSUB 19000
2080 L = 24
2090 GOSUB 18000
2100 PRINT "YOU ARE GOING TO START A CAR WASH!
2110 PRINT
272
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2230
2240
2250
2260
2270
2280
2290
2300
2310
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4 ISO
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
"YOU WILL HAVE A TOTAL OF 5 WORKERS,"
"EACH OF WHOM CAN WASH A MAXIMUM OF"
"20 CARS DURING THE DAY."
"AS YOU WILL SEE, THERE ARE A"
"NUMBER OF FACTORS YOU MUST CONSIDER,'
"BUT BY ALL MEANS, YOU NEED TO WATCH"
"THE WEATHER FORECASTS, SINCE RAINY"
"WEATHER WILL DO YOU IN!"
"THE ONLY WAY TO LEARN IS BY DOING, SO*
"WHEN YOU ARE READY, PUSH THE"
"'RETURN' KEY."
PRINT "YOU WILL RUN IT FOR FIVE DAYS"
PRINT "WITH THE SOLE OBJECT BEING TO MAKE'
PRINT "AS MUCH MONEY AS POSSIBLE!"
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
L = 3
60SUB 18000
INPUT S*
REM MAIN PROGRAM
DA = DA + 1
IF DA = 6 THEN 20000
WA = 5
L = 24
GOSUB 18000
PRINT "TODAY
L = 6
GOSUB 18000
DE = 1500
GOSUB 19000
GOSUB 6320
PRINT
PRINT "THE WEATHER FORECAST IS: "
PRINT WP»
L = 12
GOSUB 18000
DE = 2000
GOSUB 19000
18000
"YOU HAVE A BALANCE OF ";BA;" DOLLARS.
IS DAY NUMBER "jDA;"."
■WHAT PRICE ARE YOU GOING TO CHARGE'
GOSUB
PRINT
PRINT
PRINT
INPUT P
GOSUB 6010
IF P < .26 OR P
PRINT
"IT COSTS ABOUT .25 PER CAR FOR MATERIALS"
"PRESENTLY YOU HAVE ";MM;" DOLLARS"
"WORTH OF SOAP, SPONGES, RAGS, ETC."
"DO YOU WISH TO ADD TO THIS (YES OR NO)"
> 4.49 THEN 4220
PRINT
PRINT
PRINT
PRINT
INPUT S*
IF S* = "NO-
PRINT
PRINT
THEN 4400
•ENTER THE AMOUNT YOU WANT TO ADD.
INPUT SA
273
4360
4370
4380
4390
4400
44 lO
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
4560
4570
4580
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
4730
4740
4750
5000
5010
5020
5030
5040
5050
S060
5070
5080
5090
5120
5130
5140
51 50
5160
5170
60SUB 7000
IF SA > O THEN 4340
"YOU NOW HAVE «";MM;
"AND A BALANCE OF *"
PRINT
PRINT
PRINT
REM
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
'• WORTH OF MATERIALS.
;BA
"BALANCE = ♦";BA
"AMOUNT SPENT ON ADVERTISING = *";TT
"YOU HAVE A CHOICE CM=^ THE FOLLOWING"
"FORMS OF ADVERTISING:"
MEDIUM
COST PER UNIT"
"1.
"2.
"3.
"4.
RADIO
NEWSPAPER
POSTERS
KIDS AT CURB
♦20.00"
♦5.00"
♦l.OO*
«1.00'
<0R O FOR NONE)
"YOU NOW HAVE ";WA;" KIDS TO WASH CARS"
"AND ";5 - WA;" KIDS AT THE CURB"
"WAVING CARS IN. EACH KID AT THE CURB"
"HAS A POSTER («1.00) AND A BIG SMILE,"
•■**«**»»«BUT THEY CAN'T WASH CARS !**»♦»*'
"HOW MANY OF YOUR 5
"THE CURB?"
PICK A NUMBER
INPUT SA
IF SA = O THEN 4750
IF SA = 4 THEN 4610
PRINT "HOW MANY UNITS?"
INPUT UN
GOSUB 4710
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
WA = 5
INPUT UN
GOSUB 6130
TT = TT + TL
BA = BA - TL
GOTO 4410
REM
REM LIST VARIABLES
L = 24
GOSUB 18000
PRINT " SUMMARY FOR START OF DAY
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
KIDS DO YOU WANT AT'
;da
"WEATHER FORECAST: ";WP«
"CASH ON HAND : «";BA
"CASH VALUE OF CAR WASH SUPPLIES : «";MM
"NUMBER OF 'CURB KIDS': ";5 -
"NUMBER OF CAR WASHERS: ";WA
"PRICE PER CAR: «";P
WA
274
5180 PRINT
5190 PRINT "PRESS 'RETURN'"
5200 PRINT "TO GET THE DAY GOING!"
5210 L = 3
5220 GOSUB ISOOO
5230 INPUT S*
5500 REM WASH CARS!
55 lO GOSUB 6640
5S20 GOSUB 6750
5530 GOSUB 6850
5540 IC = P « VW
5550 BA = BA -I- IC
55&0 PRINT "WEATHER
5570 PRINT
5580 PRINT
5590 PRINT
5600 PRINT
5A10 PRINT
" ; WF«
"TRAFFIC: ";SF*
"VEHICLES WASHED: ";VW
"VEHICLES NOT WASHED: ";VI - VW
"INCOME: ♦";IC
"COST OF MATERIALS USED: ♦";VW •
5620 PRINT "MATERIALS STARTED WITH: «";MM
5630 PRINT "BALANCE ON HAND: «";BA
- (VW * .25)
,25
MM
O
> WA ♦ 20 THEN PRINT "TOO MANY CARS FOR ";WA;" W
< .25 THEN PRINT "OUT OF SUPPLIES!"
"PRESS 'RETURN' TO CONTINUE."
5640 MM =
5650 TT =
5660 PRINT
5670 IF VI
ASHERS ! "
5680 IF MM
5690 PRINT
5700 PRINT
5710 L = 6
5720 GOSUB 18000
5730 INPUT S*
5740 GOTO 4000
6000 REM CALCULATIONS
6010 REM PRICE FACTOR
6020 IF P < 4.50 THEN 6040
6030 PRINT "YOUR PRICE IS TOO HIGH!"
6040 IF P > .25 THEN 6060
6050 PRINT "YOUR PRICE IS TOO LOW!"
.76 THEN PF =
.75 AND P < 1
1.25 AND P <
1.75 AND P <
2.50 AND P <
3.50 THEN PF = .25
6120 RETURN
6130 REM ADVERTISING FACTOR
6140 ON SA GOTO 6150,6190,6230,6270
6150 TL = 20 * UN
6160 GOSUB 11000
6170 AF = AF + .10 * UN
6 ISO RETURN
6190 TL = 5 ♦ UN
6200 GOSUB llOOO
6210 AF = AF + .05 * UN
6220 RETURN
6230 TL = 1 * UN
6060
IF
P
<
6070
IF
P
>
6080
IF
P
>
6090
IF
P
>
6100
IF
P
>
6110
IF
P
>
2.0
.26 THEN PF = 1.5
1.76 THEN PF = 1.0
2.51 THEN PF = .75
3.51 THEN PF = .50
275
6240 60SU6 11000
6250 AF = AF + .02 * UN
6260 RETURN
6270 TL = 1 * UN
6280 WA =: WA - UN
6290 60SUB llOOO
6300 AF = AF + .2 * UN
6310 RETURN
6320 REH WEATHER PREDICTION
6330 N = 100
6340 GOSUB 10000
6350 IF R < 31 THEN WP = 1
6360 IF R > 30 AND R < 61 THEN WP = 2
6370 IF R > 60 AND R < 86 THEN WP = 3
6380 IF R > 85 THEN WP = 4
6390 ON WP GOTO 6400,6460,6520,6580
6400 WP» = "107. CHANCE OF RAIN"
6410 A = 50
6420 B = 30
6430 C = 10
6440 D = lO
6450 RETURN
6460 WP« = "257. CHANCE OF RAIN"
6470 A = 30
6480 B = 35
6490 C = 20
6500 D = 15
65 lO RETURN
6520 WP* = "507. CHANCE OF RAIN"
6530 A = 15
6540 B = 20
6550 C = 30
6560 D = 35
6570 RETURN
6580 WP* = "907. CHANCE OF RAIN"
6590 A = 5
6600 B = 10
6610 C = 20
6620 D = 65
6630 RETURN
6640 REM ACTUAL WEATHER
6650 GOSUB lOOOO
6660 IF R < A + 1 THEN WF = 1.5
6670 IF R > A AND R < A + B + 1 THEN WF = 1
6680 IF R > A + B AND R<A+B+C+1 THEN WF =
6690 IFR>A+B+C THEN WF = .OOl
6700 IF WF = 1.5 THEN WF* = "HOT AND SUNNY"
67 lO IF WF = 1 THEN WF* = "PARTLY SUNNY"
6720 IF WF = .5 THEN WF* = "CLOUDY"
6730 IF WF = .001 THEN WF* = "RAIN!"
6740 RETURN
6750 REM STREET FACTOR
6760 N = lO
6770 GOSUB 10000
6780 IF R < 4 THEN SF = 1.3
6790 IF R > 3 AND R < 10 THEN SF = 1
276
6800
6810
6820
6830
6840
68S0
6860
6870
6880
6890
6900
6910
6920
6930
6940
6950
7000
7010
7020
7030
7040
7050
7060
7070
lOOOO
lOOlO
10020
llOOO
11010
11020
11030
11040
11050
11060
11070
11080
11090
18000
18010
18020
18030
18040
19000
19010
19020
19030
20000
20010
20020
20030
20040
20050
20060
20070
20080
20090
IF R = 10 THEN SF = .5
IF SF = 1.3 THEN SF« = "HEAVY TRAFFIC"
IF SF = 1 THEN SF* = "AVERAGE TRAFFIC"
IF SF = .5 THEN SF* = "STREET REPAIRS!'
RETURN
REM BUSINESS FOR DAY
VI
VM
ML
IF
VW
GOTO
VW =
= INT
= WA »
= MM /
VI < VM
= VM
6950
VI
ML
(50
20
.25
THEN
» PF » (AF + 1) » WF ♦ SF)
6920
THEN 6950
IF VW <
VW = ML
RETURN
REM ADD TO MATERIALS
IF SA > BA GOTO 7060
BA = BA - SA
MM = IW + SA
SA = O
RETURN
PRINT
RETURN
REM
'THAT'S MORE THAN YOU HAVE!
1 THEN 11030
RANDOMIZATION
R = RND(N)
RETURN
REM CHECK BALANCE
IF TL > BA OR WA <
RETURN
IF TL > BA GOTO 11050
GOTO 11080
PRINT "YOU DON'T HAVE *";TL;"!"
TL = O
GOTO 4400
PRINT "THERE'S NO ONE LEFT TO WASH CARS!"
GOTO 46 lO
REM SCROLLING
FOR I = 1 TO L
PRINT
NEXT I
RETURN
REM DELAY
FOR I = 1 TO DE
NEXT I
RETURN
REM CLOSING
L = 24
GOSUB 18000
"YOUR 5 DAYS ARE
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
OVER!
"YOU HAVE ACCUMULATED A TOTAL OF "
BA;" DOLLARS!"
"DIVIDED 5 WAYS (REMEMBER YOUR 4"
"PARTNERS), THAT MAKES ";BA / 5;" DOLLARS"
"PER PERSON!"
277
20100 L = 6
20110 60SUB 18000
20120 END
TABLE OF VARIABLES
A - WEATHER FACTOR
6410 6470 6S30 6S90 6660 6670
6670 6680 6680 6690
AF - ADVERTISING FACTOR
6170 6170 6210 6210 6250 6250
6300 6300 6860
B - WEATHER FACTOR
6420 6480 6540 6600 6670 6680
6680 6690
BA - BALANCE ON HAND
lOlO 4200 4390 4420 4730 4730
5070 5550 5550 5630 7010 7020
7020 IIOIO 11030 20060 20080
C - WEATHER FACTOR
6430 6490 6550 6610 6680 6690
D - WEATHER FACTOR
6440 6500 6S60 6620
DA - DAY NUMBER
4010 40 lO 4020 4060 5030
DE - DELAY
2060 4090 4170 19010
I - COUNTER
18010 18030 19010 19020
IC - INCOME
5540 5550 5600
L - LINES FOR SCROLLING
2010 2040 2080 2290 4040 4070
4150 5010 5210 5710 18010 20010
20100
ML - MATERIALS LIMIT
6880 6930 6940
MM - MATERIALS STARTED WITH
4280 4380 5090 5620 5640 5640
5680 6880 7030 7030
N - MAXIMUM RANDOM NUMBER
6330 6760 lOOlO
278
P - PRICE PER WASH
4230 4250 4250 5170 5540 6020
6040 6060 6070 6070 6080 6080
6090 6090 6100 6100 6110
PF - PRICE FACTOR
6060 6070 6080 6090 6100 6110
6860
R - RANDOM NUMBER
6350 6360 6360 6370 6370 6380
6660 6670 6670 6680 6680 6690
6780 6790 6790 6800 10010
S* - STUDENT ANSWER
2310 43 lO 4320 5230 5730
SA - STUDENT ANSWER
4350 4370 4550 4560 4570 6140
70 lO 7020 7030 7040
SF - STREET (TRAFFIC) FACTOR
6780 6790 6800 6810 6820 6830
6860
SF* - STREET MESSAGE
5570 68 lO 6820 6830
TL - COST OF ADVERTISING AS SELECTED
4720 4730 6150 6190 6230 6270
IIOIO 11030 11O50 1106O
TT - TOTAL ADVERTISING BUDGET FOR DAY
4430 4720 4720 51 lO 5650
UN - UNITS OF EACH AD TECHNIQUE
4590 4700 6150 6170 6190 6210
6230 6250 6270 6280 6300
VI - VEHICLES ENTERING
5590 5670 6860 6890 6920
VM - MAXIMUM NO. OF VEHICLES WHICH COULD BE WASHED
6870 6890 6900
VW - VEHICLES ACTUALLY WASHED
5540 5580 5590 56 lO 5640 6900
6920 6930 6940
WA - NUMBER OF CAR WASHERS
1020 4030 4610 4620 4690 5130
5150 5670 5670 6280 6280 6870
llOlO
WF - ACTUAL WEATHER FACTOR
6660 6670 6680 6690 6700 6710
279
6720 6730 6860
WF» - WEATHER MESSAGE
5560 6700 6710 6720 6730
WP - MEATHER PREDICTION
6350 6360 6370 6380 6390
WP* - WEATHER PREDICTION MESSAGE
4140 SOSO 6400 6460 6S20 6S80
END OF VAR. LIST
SAMPLE RUN
YOU ARE GOING TO START A CAR WASH!
YOU WILL RUN IT FOR FIVE DAYS
WITH THE SOLE OBJECT BEING TO MAKE
AS MUCH MONEY AS POSSIBLE!
YOU WILL HAVE A TOTAL OF 5 WORKERS,
EACH OF WHOM CAN WASH A MAXIMUM OF
20 CARS DURING THE DAY.
AS YOU WILL SEE, THERE ARE A
NUMBER OF FACTORS YOU MUST CONSIDER,
BUT BY ALL MEANS, YOU NEED TO WATCH
THE WEATHER FORECASTS, SINCE RAINY
WEATHER WILL DO YOU IN!
THE ONLY WAY TO LEARN IS BY DOING, SO
WHEN YOU ARE READY, PUSH THE 'RETURN'
KEY.
TODAY IS DAY NUMBER 1,
THE WEATHER FORECAST IS:
257. CHANCE OF RAIN
YOU HAVE A BALANCE OF 25 DOLLARS.
WHAT PRICE ARE YOU GOING TO CHARGE72.00
IT COSTS ABOUT .25 PER CAR FOR MATERIALS
PRESENTLY YOU HAVE O DOLLARS
WORTH OF SOAP, SPONGES, RAGS, ETC.
DO YOU WISH TO ADD TO THIS (YES OR NO)
7YES
ENTER THE AMOUNT YOU WANT TO ADD.
280
715.00
YOU NOW HAVE *15 WORTH OF MATERIALS.
AND A BALANCE OF «10
BALANCE = «10
AMOUNT SPENT ON ADVERTISING = *0
YOU HAVE A CHOICE OF THE FOLLOWING
FORMS OF ADVERTISING:
MEDIUM COST PER UNIT
1. RADIO «20.00
2. NEWSPAPER «5.00
3. POSTERS *1.00
4. KIDS AT CURB «1.00
PICK A NUMBER (OR O FOR NONE).
?2
HOW MANY UNITS?
?1
BALANCE = «5
AMOUNT SPENT ON ADVERTISING = »5
YOU HAVE A CHOICE OF THE FOLLOWING
FORMS OF ADVERTISING:
MEDIUM COST PER UNIT
1. RADIO «20.00
2. NEWSPAPER *5.00
3. POSTERS *1.00
4. KIDS AT CURB *1.00
PICK A NUMBER (OR O FOR NONE) .
?3
HOW MANY UNITS?
?5
BALANCE = «0
AMOUNT SPENT ON ADVERTISING = »10
YOU HAVE A CHOICE OF THE FOLLOWING
FORMS OF ADVERTISING:
MEDIUM COST PER UNIT
1. RADIO *20.00
2. NEWSPAPER *5.00
3. POSTERS *1.00
4. KIDS AT CURB *1.00
PICK A NUMBER (OR O FOR NONE).
?o
SUMMARY FOR START OF DAY 1
WEATHER FORECAST: 25y. CHANCE OF RAIN
CASH ON HAND : «0
281
CASH VALUE OF CAR WASH SUPPLIES : «15
ADVERTISING BUDGET FOR TODAY: «10
NUMBER OF 'CURB KIDS': O
NUMBER OF CAR WASHERS: 5
PRICE PER CAR: *2
PRESS 'RETURN'
TO GET THE DAY GOING!
?
WEATHER: HOT AND SUNNY
TRAFFIC: AVERAGE TRAFFIC
VEHICLES WASHED: 60
VEHICLES NOT WASHED: 4
INCOME: «120
COST OF MATERIALS USED: ♦IS
MATERIALS STARTED WITH: *15
BALANCE ON HAND: $120
OUT OF SUPPLIES!
PRESS 'RETURN' TO CONTINUE.
TODAY IS DAY NUMBER 2.
282
Check-Out
Counter
PROGRAM DESCRIPTION
This program roughly simulates some of the things you would
do at a department store check-out counter. The computer scrolls a
number of prices and you must simulate the operation of a cash
register by entering the prices into the computer one at a time. You
must enter the correct prices and give the right amount of change
at the end of the check-out or you will have a great number of
angry customers! As you proceed, the prices will move faster and
faster to help you increase your efficiency. The faster you can go
without making any errors the higher your pay will be.
PROGRAM NOTES
1, It might be more effective to "flash" the numbers by clearing
the screen, printing the number, pausing, then clearing the
screen again.
2. Computers usually do a terrible job of sticking to precisely
two decimal places as required by money amounts. The
Microsoft BASIC has a sure cure for this if you investigate the
PRINT USING command. For the ATARI BASIC, consider
writing a "Mighty Money Maker" subroutine through which
all money values would pass. The main problem areas are in
the printing of 3.4 dollars instead of 3.40, or printing
3.4000001 dollars instead of 3.40. Good luck!
283
PROGRAM LISTING: BASIC
lOO REM CHECK-OUT COUNTER BY GARY 0RWI6
lOOO REM INITIALIZATION - 'MX' IS MAXIMUM OF VALUES DISPLAYE
D.
1010 MX=10
1020 DIM R«(1S),SA«(15>
1030 REM USE FULL SCREEN
POKE 82,0
PRINT
REM INTRODUCTION
L=24
60SUB 18000
FOR J=l TO 10
PRINT " CHECK - OUT COUNTER"
L=12
60SUB 18000
D=25
60SUB 19000
NEXT J
PRINT "THIS PROGRAM ROUGHLY SIMULATES SOI£ OF"
THE THINGS YOU WOULD DO AT A DEPARTMENT"
STORE CHECK OUT COUNTER."
1040
1050
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
22O0
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
3000
3010
3020
3030
3040
3050
3060
3070
3080
3090
3100
3110
3120
3130
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
"YOU WILL SEE A BUNCH OF PRICES, AND"
"TYPE THEM ONE AT A TIME INTO THE "
"COMPUTER. YOU MUST TYPE THEM IN"
"ACCURATELY, OR YOU WILL HAVE ANGRY"
"CUSTOMERS AFTER YOU ! "
"AFTER TYPING IN ALL THE PRICES, YOU"
"WILL RING UP A TOTAL, BE GIVEN CASH,"
"AND MAKE THE CORRECT CHANGE."
"ONCE AGAIN, YOU MUST BE ACCURATE!"
"AS YOU PROCEED, THE PRICES WILL MOVE"
"FASTER AND FASTER. THE FASTER YOU CAN"
"GO WITHOUT MISTAKES, THE HIGHER YOUR"
"PAY WILL BE!"
"PUSH
SA«
'RETURN' TO START.
REM EXAMPLE
GOSUB 18000
PRINT
GOSUB
D=200
GOSUB
GOSUB
GOSUB
PRINT
GOSUB
D=40
GOSUB
L=24
GOSUB
"YOU WILL
18000
19000
18000
10000
18000
19000
18000
SEE A PRICE, LIKE THIS:
;r«
284
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
3240
3250
3260
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
AlhO
4170
41BO
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
44 lO
4420
PRINT "AS SOON AS THE PRICE DISAPPEARS,
PRINT "IT IN AND PUSH 'RETURN'."
INPUT SA«
IF SA«=R« THEN PRINT "VERY GOOD!"
D=200
TYPE"
19000
18000
18000
19000
GOSUB
60SUB
PRINT
L=12
GOSUB
GOSUB
D=60
MX=10
REH MAIN PROGRAM
IF D<10 THEN 20000
GOSUB lOOOO
L=12
GOSUB 18000
PRINT "
GOSUB
GOSUB
HERE WE GO!"
;r«
18000
19000
GOSUB 18000
INPUT SA
GOSUB llOOO
GOTO 4000
PRINT "PUSH 'RETURN' TO GET'
PRINT "THE TOTAL."
INPUT SA«
PRINT "YOUR TOTAL IS ";SS
REM CALCULATE PAYKENT
PA=PA+10
IF PA>SS THEN 4200
GOTO 4170
PRINT
PRINT
PRINT
PRINT
PRINT
CC=PA-SS
CC=INT(CC»100+0.5)/100
PRINT "THE REQUIRED CHANGE
PRINT "DOLL#«S."
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT SA
SC==SA*5+SC
PRINT "HOW MANY 'ONES'?'
INPUT SA
SC=SA+SC
PRINT "HOW MANY
INPUT SA
SC=SA*0.25+SC
PRINT "HOW MANY 'DIMES'?"
"THE CUSTOiER PAYS YOU WITH ";PA
"DOLLARS. "
IS -;CC
"CHANGE BACK:
•HOW MANY 'FIVES'?'
'QUARTERS'?"
285
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
4560
4570
4580
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
5000
5O10
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
51 20
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
5230
6000
6010
NICKLES'?"
'PENNIES'?'
INPUT SA
SC=SA*0. 1+SC
PRINT "HOW MAY '
INPUT SA
SC=SA*0.05+SC
PRINT "HOW MANY
INPUT SA
SC=SA»0.01+SC
PRINT
PRINT "YOU GAVE THE CUSTOI«R ";SC
PRINT "DOLLARS CHANGE. "
CC=INT<CC*100+0.5)/100
SC=INT<SC*100+0.5)/100
IF CC=SC THEN 4710
PRINT "THE CASH REGISTER SHOWS THAT YOU SHOULD"
PRINT "HAVE PAID BACK ";CC;" DOLLARS!"
IF cose THEN 4650
PRINT "CUSTOMER GOES AWAY HAPPY!!"
PRINT "BUT YOUR PAY WILL BE DOCKED!"
D=D+10
PRINT
GOTO 5000
PRINT "ANGRY CUSTOMER WANTS MANAGER!!"
PRINT
PRINT "MANAGER SMOOTHS THINGS OUT, BUT HE"
PRINT "IS SURE MAD AT YOU!"
D=D+10
GOTO 5000
PRINT "GOOD GOING!"
D=D-10
REM SPOT CHECK TOTAL
PRINT " A SPOT CHECK OF THE PURCHASES"
PRINT "SHOWS THE CORRECT TOTAL IS: ";CT
PRINT "DOLLARS. "
PRINT "YOUR TOTAL WAS: ";SS
PRINT "DOLLARS. "
CT=INT<CT*100+0.5)/100
SS=INT (SS*100+0. 5) /lOO
IF CT=SS THEN 5220
IF CT>SS THEN 5160
PRINT "YOU OVER CHARGED THE CUSTOTCR "
DF=INT ( (SS-CT) *100+0. 5) / lOO
PRINT DF;" DOLLARS"
PRINT "BECAUSE YOU KEYED IN THE PRICES WRONG!"
D=D+10
GOTO 6000
PRINT "THE STORE LOST"
DF=INT ( (CT-SS) »100+0. 5) /lOO
PRINT DF; " DOLLARS BECAUSE"
PRINT "YOU KEYED IN THE PRICES WRONG!"
D=D+10
GOTO 6000
PRINT "GOOD GOING!"
D=D-10
REM GO AGAIN?
PA=INT ( 120-D) /20
286
6080
6090
"YOUR PRESENT PAY IS "J PA
"DOLLARS PER HOUR. "
"WOLN-D YOU LIKE TO GO AGAIN?"
"(YES OR NO)"
THEN 20060
•PRESS 'RETURN' TO START.
6020 PRINT
6030 PRINT
6040 PRINT
6050 PRINT
6060 PRINT
6070 PRINT
INPUT SA*
IF SA«="NO*
6100 REM RESET
6110 PA=0
6120 CT=0
6130 SS=0
6140 SA=0
6150 CC=0
6160 SC=0
6170 DF=0
6 ISO PB=0
6190 PRINT
6200 PRINT
6210 IlNff^UT SA«
6220 GOTO 4000
lOOOO REM RM^DCmiZATION
lOOlO R=RND(0)*MX
10020 R*=STR*(R)
10030 FOR 1=1 TO LEN(R«)
10040 IF R»(I,I)<>"." THEN NEXT I
10050 IF I+2>LEN(R«) THEN lOOOO
10060 R«=R« ( 1 , 1+2)
10070 RETURN
llOOO REM JUDGE ANSWER
IIOIO CT=CT+VAL(R*)
11020 SS=SS+SA
11030 PB=PB+1
11040 IF PB=11 THEN 4120
11050 RETURN
18000 REM SCROLLING
IBOIO FOR 1=1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR 1=1 TO D
19020 NEXT I
19030 RETl^N
20000 REM CLOSE
20010 PRINT "YOU ARE A SUPER WHIZ AT THE CHECKOUT"
"COUNTER! YOU MAY RETIRE WITH FULL"
"BENIFITS!"
20020 PRINT
20030 PRINT
20040 PRINT
20050 PRINT
20060 END
•BYE!
TABLE OF VARIABLES
MX
lOlO 3260 lOOlO
287
288
R«
1020 3080 3170 4050 10020 10030
10040 10050 10060 10060 11010
SA«
1020 2310 3160 3170 4140 6080
6090 6210
L
2010 2050 3120 3220 4030 18010
J
2030 2O90
D
2070 3040 3100 3180 3250 4010
4620 4620 4690 4690 4720 4720
5140 5140 5200 5200 5230 5230
6010 19010
SA
4090 4340 4350 4370 4380 4400
4410 4430 4440 4460 4470 4490
4500 6140 11020
SS
4150 4180 4250 5040 5070 5070
5080 5090 5110 5170 6130 11020
11020
PA
4170 4170 4180 4220 4250 6010
6030 6110
CC
4250 4260 4260 4270 4540 4540
4560 4580 4590 6150
SC
4350 4350 4380 4380 4410 44 lO
4440 4440 4470 4470 4500 4500
4520 4550 4550 4560 4590 6160
CT
5020 5O60 5060 5080 5090 5110
5170 6120 11010 11010
DF
51 lO 5120 5170 5180 6170
PB
6180 11030 11030 11040
R
lOOlO 10020
10030 10040 10040 10040 10050 10060
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
'MX' IS MAXIMUM OF VALUES DISPLAY
lOO REM CHECK-OUT COUNTER BY GARY ORWIG
500 REM RESEED RND
510 RANDOMIZE
lOOO REM INITIALIZATION -
ED.
lOlO MX = lO
1020 REM USE FULL SCREEN
1030 POKE 82,0
1040 CLS
REM INTRODUCTION
L = 24
GOSUB 18000
FOR J = 1 TO 10
PRINT ■■
L = 12
GOSUB 18000
D = 250
GOSUB 19000
NEXT J
PRINT "THIS PROGRAM ROUGHLY SIMULATES SOME OF"
"THE THINGS YOU WOULD DO AT A DEPARTMENT'
"STORE CHECK OUT COUNTER."
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
23 lO
3000
3010
3020
3030
3040
3050
3060
3070
3080
CHECK - OUT COUNTER'
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
"YOU WILL SEE A BUNCH OF PRICES, AND"
"TYPE THEM ONE AT A TIME INTO THE "
"COMPUTER. YOU MUST TYPE THEM IN"
"ACCURATELY, OR YOU WILL HAVE ANGRY"
"CUSTOMERS AFTER YOU!"
"AFTER TYPING IN ALL THE PRICES, YOU"
"WILL RING UP A TOTAL, BE GIVEN CASH,"
"AND MAKE THE CORRECT CHANGE. "
"ONCE AGAIN, YOU MUST BE ACCURATE!"
"AS YOU PROCEED, THE PRICES WILL MOVE"
"FASTER AND FASTER. THE FASTER YOU CAN"
"GO WITHOUT MISTAKES, THE HIGHER YOUR"
"PAY WILL BE!"
RETURN' TO CONTINUE.
"PUSH
SA$
REM EXAMPLE
GOSUB 18000
PRINT "YOU WILL SEE
GOSUB 18000
D = 1000
GOSUB 19000
GOSUB 18000
GOSUB lOOOO
PRINT "
A PRICE, LIKE THIS:
";r*
289
3090
3100
3110
3120
3130
3140
3150
3160
3170
3180
3190
3200
3210
3220
3230
3240
3250
3260
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
4160
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
60SUB 18000
D = 200
GOSUB 19000
L = 24
GOSUB 18000
PRINT "AS SOON AS THE PRICE DISAPPEARS, TYPE*
PRINT "IT IN AND PUSH 'RETURN'."
INPUT SA«
IF SA* = R* THEN PRINT "VERY GOOD!"
D = lOOO
GOSUB 19000
GOSUB 18000
PRINT "
L = 12
GOSUB 18000
GOSUB 19000
D = 300
MX = 10
REM MAIN PROGRAM
IF D < 50 THEN 20000
GOSUB lOOOO
L = 12
GOSUB 18000
HERE WE GO!
";r*
PRINT "
GOSUB 18000
GOSUB 19000
GOSUB 18000
INPUT SA
GOSUB 11000
GOTO 4000
PRINT "PUSH 'RETURN' TO GET"
PR I NT " THE TOTAL . "
INPUT SA*
PRINT "YOUR TOTAL IS ";SS
REM CALCULATE PAYMENT
PA = PA + 10
IF PA > SS THEN 4200
GOTO 4170
PRINT
PRINT
PRINT "THE CUSTOMER PAYS YOU WITH
PRINT "DOLLARS."
PRINT
CC = PA - SS
CC = INT <CC * 100 + .5) / lOO
PRINT "THE REQUIRED CHANGE IS
PRINT "DOLLARS. "
PRINT
PRINT
PRINT "CHANGE BACK: "
PRINT
PRINT "HOW MANY 'FIVES'?"
INPUT SA
SC = SA * 5 + SC
PRINT "HOW MANY 'ONES'?"
INPUT SA
';PA
;cc
290
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
4500
4510
4520
4530
4540
4550
45<bO
4570
4580
4590
4600
4610
4620
4630
4640
4650
4660
4670
4680
4690
4700
4710
4720
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
5140
5150
5160
5170
5180
5190
5200
SC = SA + SC
PRINT "HOW MANY 'QUARTERS'?"
INPUT SA
SC = SA » .25 + SC
PRINT "HOW MANY 'DIMES'?"
INPUT SA
SC = SA » . 10 + SC
PRINT "HOW MAY 'NICKLES'?"
INPUT SA
SC = SA ♦ .05 + SC
PRINT "HOW MANY 'PENNIES'?"
INPUT SA
SC = SA » .01 + SC
PRINT
PRINT "YOU GAVE THE CUSTOMER " ; SC
PRINT "DOLLARS CHANGE. "
CC = INT <CC ♦ 100 + .5) / 100
SC = INT (SC « 100 + .5) / 100
IF CC = SC THEN 4710
PRINT "THE CASH REGISTER SHOWS THAT YOU SHOULD'
PRINT "HAVE PAID BACK ";CC;" DOLLARS!"
IF CC > SC THEN 4650
PRINT "CUSTOMER GOES AWAY HAPPY ! ! "
PRINT "BUT YOUR PAY WILL BE DOCKED!"
D = D + 50
PRINT
GOTO 5000
PRINT "ANGRY CUSTOMER WANTS MANAGER!!"
PRINT
PRINT "MANAGER SMOOTHS THINGS OUT, BUT HE"
PRINT "IS SURE MAD AT YOU!"
D = D + 50
GOTO 5000
PRINT "GOOD GOING!"
D = D - 50
REM SPOT CHECK TOTAL
PRINT " A SPOT CHECK OF THE PURCHASES"
PRINT "SHOWS THE CORRECT TOTAL IS: ";CT
PRINT "DOLLARS. "
"YOUR TOTAL WAS: " ; SS
"DOLLARS. "
INT (CT * 100
INT (SS * 100
.5)
.5)
/
/
lOO
100
PRINT
PRINT
CT =
SS =
IF CT = SS THEN 5220
IF CT > SS THEN 5160
PRINT "YOU OVER CHARGED THE CUSTOMER "
DF = INT ((SS - CT) * 100 + .5) / 100
PRINT DF;" DOLLARS"
PRINT "BECAUSE YOU KEYED IN THE PRICES WRONG!"
D = D + 50
GOTO 6000
PRINT "THE STORE LOST"
DF = INT ((CT - SS) * 100 + .5) / 100
PRINT DF;" DOLLARS BECAUSE"
PRINT "YOU KEYED IN THE PRICES WRONG!"
D = D + 50
291
5210 GOTO 6000
5220 PRINT "GOOD GOING!"
5230 D = D - 50
6000 REM GO AGAIN?
6010 PA = INT (600 - D) / 100
A020 PRINT
6030 PRINT
6040 PRINT
6050 PRINT
6060 PRINT
6070 PRINT
"YOUR PRESENT PAY IS " ; PA
"DOLLARS PER HOUR. "
"WOULD YOU LIKE TO GO AGAIN?"
"(YES OR NO)"
6080
INPUT SA*
6090
IF SA« = "NO"
THEN 20060
6100
REM RESET
6110
PA = O
6120
CT = O
6130
SS =
6140
SA =
6150
CC =
6160
SC = O
6170
DF = O
6180
PB = O
6190
PRINT
6200
PRINT "PRESS
'RETURN' TO START!"
62 lO INPUT SA*
6220 GOTO 4000
lOOOO REM RANDOMIZATION
lOOlO R = RND(MX*100)
10020 R=R/100
10030 R* = STR* (R>
10040 RETURN
llOOO REM JUDGE ANSWER
(R*)
+ VAL
+ SA
+ 1
11 THEN 4120
IIOIO CT = CT
11020 SS = SS
11030 PB = PB
11040 IF PB =
11050 RETURN
18000 REM SCROLLING
18010 FOR I = 1 TO L
18020 PRINT
18030 NEXT I
18040 RETURN
19000 REM DELAY
19010 FOR I = 1 TO D
19020 NEXT I
19030 RETURN
20000 REM CLOSE
20010 PRINT "YOU ARE A
20020 PRINT "COUNTER!
20030 PRINT "BENIFITS!"
20040 PRINT
20050 PRINT "BYE!"
20060 END
SUPER WHIZ AT THE CHECKOUT'
YOU MAY RETIRE WITH FULL"
292
TABLE OF VARIABLES
CC - REQUIRED CHANGE
4250 4260 4260 4270 4540 4540
4560 4580 4590 6150
CT - CORRECT TOTAL
5020 5060 5060 5080 5090 5110
5170 6120 11010 IIOIO
D - DELAY
2070 3040 3100 3180 32SO 4010
4620 4620 4690 4690 4720 4720
5140 5140 5200 5200 5230 5230
6010 19010
DF - DEFICIT FROM WRONG KEY IN
5110 5120 5170 5180 6170
I - COUNTER
10030 10040 10040 10050 10060
18010 18030 19010 19020
J - COUNTER
2030 2090
L - LINES OF SCROLLING
2010 2050 3120 3220 4030 18010
MX - MAXIMUM VALUES DISPLAYED
lOlO 3260 lOOlO
PA - CUSTOMER PAYS THIS AMOUNT
4170 4170 4180 4220 4250 6010
6030 61 lO
PB - NO. OF PRICES DISPLAYED
6180 11030 11030 11040
R - RANDOM NUMBER
lOOlO 10020
R« - RANDOM NUMBER AS STRING (NEEDED FOR TRAILING ZEROS)
3080 3170 4050 10020 10030
10040 10050 10060 10060 11010
SA - STUDENT ANSWER
4090 4340 4350 4370 4380 4400
44 lO 4430 4440 4460 4470 4490
4500 6140 11020
SA« - STUDENT ANSWER
2310 3160 3170 4140 6080 6090
293
6210
SC - CHANGE RETURNED BY STUDENT
4350 4350 4380 4380 4410 4410
4440 4440 4470 4470 4500 4500
4520 4550 4550 4560 4590 6160
SS
4150 4 ISO 4250 5040 5070 5070
5080 5090 51 lO 5170 6130 11020
11020
END OF VAR. LIST
SAMPLE RUN
THIS PROGRAM ROUGHLY SIMULATES SOME OF
THE THINGS YOU WOULD DO AT A DEPARTMENT
STORE CHECK OUT COUNTER.
YOU WILL SEE A BUNCH OF PRICES, AND
TYPE THEM ONE AT A TIME INTO THE
COMPUTER. YOU MUST TYPE THEM IN
ACCURATELY, OR YOU WILL HAVE ANGRY
CUSTOMERS AFTER YOU!
AFTER TYPING IN ALL THE PRICES, YOU
WILL RING UP A TOTAL, BE GIVEN CASH,
AND MAKE THE CORRECT CHANGE.
ONCE AGAIN, YOU MUST BE ACCURATE!
AS YOU PROCEED, THE PRICES WILL MOVE
FASTER AND FASTER. THE FASTER YOU CAN
GO WITHOUT MISTAKES, THE HIGHER YOUR
PAY WILL BE!
PUSH 'RETURN' TO START.
YOU WILL SEE A PRICE, LIKE THIS:
2.65
AS SOON AS THE PRICE DISAPPEARS, TYPE
IT IN AND PUSH 'RETURN.
?2.65
VERY GOOD!
HERE WE GO!
4.20
294
74.20
?5.29
74.41
77.97
75.41
7.39
72.64
74.48
77.24
71.34
5.29
4.14
7.97
5.41
.39
2.64
4.48
7.24
1.34
,57
7.57
PUSH 'RETURN' TO GET
THE TOTAL.
?
YOUR TOTAL IS 43.94
295
THE CUSTOMER PAYS YOU WITH 50
DOLLARS.
THE REQUIRED CHANGE IS 6.06
DOLLARS.
CHANGE BACK:
HOW MANY 'FIVES'?
?1
HOW MANY 'ONES'?
?1
HOW MANY 'QUARTERS'?
?0
HOW MANY 'DIMES'?
?0
HOW MAY 'NICKLES'?
?1
HOW MANY 'PENNIES'?
?1
YOU GAVE THE CUSTOMER 6.06
DOLLARS CHANGE.
GOOD GOING!
A SPOT CHECK OF THE PURCHASES
SHOWS THE CORRECT TOTAL IS: 43.67
DOLLARS.
YOUR TOTAL WAS: 43.94
DOLLARS.
YOU OVER CHARGED THE CUSTOMER
.27 DOLLARS
BECAUSE YOU KEYED IN THE PRICES WRONG!
YOUR PRESENT PAY IS 3
DOLLARS PER HOUR.
WOULD YOU LIKE TO GO AGAIN?
(YES OR NO)
?NO
296
stock Market
PROGRAM DESCRIPTION
This program is a simulation of some of the events that take
place during the buying and selling of stock in companies on a
stock exchange. The program enables you to place orders with the
computer just as you would by phoning a stockbroker from your
own home. You may choose to buy and sell stock from a limited
portfolio of stocks based upon newspaper headlines relevant to
those companies that own the shares of stock.
You start with $10,000 and your main objective is to increase
that value as much as possible in six buying and selling sessions.
Do watch the newspaper headlines carefully. They are your only
hints to guide you toward success or failure in the market. The
computer may create more havoc because the newspaper headlines
are not always true statements. You have to read "between the
lines." A computer printer would prove very valuable in this
simulation program by making it easier to refer to your past stock
transactions.
PROGRAM NOTES
This is a very simple introduction to the stock market.
Consider adding complicating factors (dividends, mergers, etc.) as
your group can handle them. Although it rarely is this simple,
additional subroutines might fit right into the "gosubs" in the
main program (starting on line 4000).
297
PROGRAM LISTING: BASIC
100 REM STOCK MARKET BY GARY ORWIG
SOO REM PLACE MESSAGE ON SCREEN
510 PRINT
520 PRINT "ONE MOMENT, PLEASE!"
530 PRINT "I AM READING DATA."
1000 REM INITIALIZE
1010 DIM G«<700),GF(7),N*(700),N1(7),N2<7),N3<7),N4(7),N5(7)
, N6 (7) , S» (700) , SY (7) , SN (7) , OD (7) , SM* (700)
1020 DIM C<6),S(6),N(6)
1030 DIM GI«(100),NI«(100} ,SI«<100),SMI«(100>,SAS(5),SMN«(10
O)
1040 FOR 1=1 TO 10
1050 6* (1*70-69,1*70)="
1060 NEXT I
1 070 N«=6« : S«=G« : SM«=6«
lOSO FOR 1=1 TO 2
1090 GI* (1*50-49,1*50)="
■I
llOO NEXT I
mo Ni«=Gi«: si«=6i«: smi«=gi«: smn«=6I«
1120 LN=1
1130 FOR 1=1 TO 7
1140 READ GIS,GF
1150 G«(LN)=GI«:GF(I)=GF
1160 LN=LN+100
1170 NEXT I
1180 LN=1
1190 FOR 1=1 TO 7
1200 READ NI«,N1,N2,N3,N4,N5,N6
1210 N* (LN) =NI*: Nl ( I ) =N1 : N2 ( I ) =N2: N3 ( I ) =N3: N4 ( I ) =N4: N5 ( I ) =N5
: N6 ( I ) =N6
1220 LN=LN+100
1230 NEXT I
1240 LN=1
1250 FOR 1=1 TO 7
1260 READ SI«,SY,SN,OD,SMIS
1270 S* (LN) =SI*: SY ( I ) =SY: SN ( I ) =SN: OD ( I ) =OD: SM« (LN) =SMI«
1280 LN=LN+100
1290 NEXT I
1300 CA=10000:REM CASH TO START WITH
1310 C(1)=20:REM THESE 6 VALUES ARE STARTING PRICES OF STOCK
m
1320 C(2)=30
1330 C(3)=70
1340 C(4)=40
1350 C(5)=50
1360 C(6)=40
1370 FOR 1=1 TO 6
1380 S(I)=0
1390 NEXT I
1400 REM USE FULL SCREEN
1410 POKE 82,0
1420 PRINT
298
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
21 lO
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
22AO
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
2540
2550
TO 200
"THIS IS A SinULATICHM OF SOME OF THE"
"EVENTS WHICH TAKE PLACE IN THE"
"BUYING AND SELLING OF STOCK."
"YOU GET TO BUY AND SELL FROM A LIMITED"
"PORTFOLIO OF STOCKS BASED UPON NEMS"
"HEADLINES RELEVANT TO THOSE COMPANIES."
"YOU START WITH lOOOO DOLLARS, AND YOUR"
"SOLE MISSION IS TO INCREASE THAT VALUE"
"AS MUCH AS POSSIBLE IN 6 BUYING/SELLING"
"SESSIONS. "
"DO WATCH THE HEADLINES CAREFULLY."
"THEY ARE YOUR ONLY HINTS FOR SUCCESS."
"BE CAREFUL, THOUGH BECAUSE NOT ALL"
"HEADLINES ALWAYS TURN OUT TO BE TRUE!"
REM INTRODUCTION
FOR 1=1 TO 50
PRINT "STOCK MARKET
NEXT I
PRINT
PRINT
PRINT
FOR 1=1
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
PRINT
"5
"PRESS
SA«
RETURN' TO CONTINUE.
"HERE ARE THE COMPANIES:"
"MIDNIGHT OIL COMPANY"
"A COMPANY KNOWN FOR TAKING BIG RISKS."
"SOMETIMES THEY WIN, BUT OFTEN THEY LOSE!"
"SOLAR SEEKERS, INC."
"A NEW COMPANY JUST GETTING ESTABLISHED."
"APPEAR TO EMPLOY A NUMBER OF HIGH"
"TECHNOLOGY EXPERTS."
"MCDANIEL AIRCRAFT"
"A WELL ESTABLISHED MILITARY/ INDUSTRIAL"
"ORIENTED AERONAUTICS COMPANY."
"PRESS
SA«
'RETURN' TO CONTINUE.
HAPPY DAYS SOUTHERN MOTELS"
A LARGE CHAIN OF SOUTH UNITED STATES'
299
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2680
2690
2700
2710
2720
2730
2740
2750
2760
2770
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
5000
5010
5020
5030
5040
5050
5060
5070
5080
5090
5100
5110
5120
5130
5140
5150
5160
5170
5180
5190
5200
5210
5220
"MOTELS. LARGELY DEPENDENT UPON TOURISM.
"COMMUNITY PHONE COMPANY"
"A TYPICAL UTILITY CONSERVATIVE AND"
"FAIRLY IMMUNE TO WORLD PROBLEMS."
"FRIENDLY ELECTRIC COMPANY"
"A VERY PROGRESSIVE UTILITY,
"NUCLEAR POWER, WITH QUITE A
" COMMON I T Y OPPOS I T I ON . "
"PRESS 'RETURN' TO CONTINUE.
"HERE WE GO!
TO ISO
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT SA*
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
FOR 1=1
NEXT I
REM MAIN PROGRAM
DA=DA+1
IF DA=7 THEN 20000
60SUB 5000
GOSUB 6000
60SUB 8000
GOSUB 7000
IF SF=SN THEN PRINT SM*<C*100-99, C»100)
FOR 1=1 TO 150
NEXT I
GOTO 4000
REM PRINT HEADLINES
GOSUB lOOOO
IF G*(R»100-99,R*100-99)="*" THEN 5010
PRINT 6»(R»100-99,R*100)
G«(R*100-99,R»100)="*"
GF=GF(R)
GOSUB lOOOO
IF N»(R»100-99,R*100-99)="»" THEN 5060
PRINT N«(R»100-99,R*100)
N» (R*100-99, R»100) ="*"
N(1)=N1(R)
N(2)=N2(R)
N(3)=N3(R>
N(4)=N4(R)
N(5)=N5(R)
N(6}=N6(R)
GOSUB lOOOO
IF S*(R*100-99,R*100-99)="»" THEN 5160
PRINT S*(R*100-99,R»100)
S*(R»100-99,R*100)="*"
SY=SY(R)
SN=SN(R)
OD=OD(R)
HEAVY INTO"
BIT OF"
300
5230
5240
5250
6000
6010
6020
6030
6040
6050
6060
6070
6080
6090
6100
6110
6120
6130
6140
6150
6160
6170
7000
7010
7020
7030
7040
7050
7060
7070
7oao
7090
7100
8000
8010
8020
8030
8040
8050
8060
8070
8080
8090
8100
8110
8120
8130
8140
8150
8160
8170
8180
8190
8200
8210
8220
8230
MID. OIL
SOL SEE
MC AIR
HAP MO
COM PHO
FRI ELEC
"CASH ON HAND: ";CA
"VALUE OF STOCK: " ; VA
"TOTAL WORTH: " ; CA+VA
SMN«=SM» ( R* 1 00-99 , R» 1 OO )
C=R
RETURN
REM MENU
VA=0
FOR 1=1 TO 6
VA=VA+S ( I ) «C (I )
NEXT I
GOSUB 16000
PRINT "COMPANY SHARES VALUE'
PRINT
PRINT "1. MID. OIL "," ";S(1),C(1)
PRINT "2. SOL SEE "," ";S(2),C(2)
PRINT "3. MC AIR "," ";S(3),C<3)
PRINT "4. HAP MO "," "iS<4),C(4)
PRINT "5. COM PHO "," ";S<5),C(5)
PRINT "6. FRI ELEC "," ";S(6),C(6)
PRINT
PRINT
PRINT
RETURN
REM CALCULATE STOCK VALUE
FOR 1=1 TO 6
C ( I ) =C ( I ) *GF»N ( I )
NEXT I
GOSUB 10500
IF R>OD THEN GOTO 7080
SF=SY
GOTO 7090
SF=SN
C(C)=C(C)*SF
RETURN
REM PURCHASE, SELL
PRINT "DO YOU WISH TO: "
PRINT " 1. PURCHASE 2. SELL
PRINT "ENTER 1, 2, OR 3"
INPUT Z
IF Z<1 OR Z>3 THEN 8030
IF Z=2 THEN 8190
IF Z=3 THEN RETURN
PRINT "BUY WHICH NUMBER?"
PRINT "ENTER A NUMBER 1 THROUGH 6."
INPUT Z
PRINT "HOW MANY SHARES?"
INPUT Z2
IF C(Z)*Z2>CA THEN GOTO 8170
S(Z)=S(Z)+Z2
CA=CA-<C<Z)*Z2)
GOTO 4040
PRINT "YOU DON'T HAVE ENOUGH MONEY!
GOTO 8000
PRINT "SELL WHICH NUMBER?"
PRINT "ENTER A NUMBER 1 THROUGH 6"
INPUT Z
IF Z<1 OR Z>6 THEN 8200
PRINT "HOW MANY SHARES?"
3. NEITHER"
301
8240 INPUT Z2
8250 IF Z2>S(Z) THEN 8290
8260 S(Z)=S(Z)-Z2
8270 CA=CA+Z2*C(Z)
8280 60T0 4040
8290 PRINT "YOU DON'T HAVE THAT MANY SHARES!"
8300 GOTO 8000
10000 REM RANDOMIZATION
lOOlO R=INT(RND<0)»6)+1
10020 RETURN
10500 R=INT(RND(0)*4)+1
10510 RETURN
16000 REM ROUNDING
16010 FOR 1=1 TO 6
16020 S(I)=INT(S(I)*100>/100
16030 C(I)=INT<C(I)»100)/100
16040 NEXT I
16050 CA=INT<CA*100)/100
16060 VA=INT (VA*100) /lOO
16070 RETURN
20000 REM CLOSING
20010 60SUB 6000
"YOU HAVE COMPLETED THE SIX CYCLES!"
"YOU STARTED WITH 10000 DOLLARS."
"YOU NOW HAVE ";CA;" DOLLARS CASH."
"AND ";VA;" dollars worth of STOCK."
"THIS IS A TOTAL VALUE OF "JCA+VA;" DOLLARS.
"BYE FOR NOW!"
20020 PRINT
20030 PRINT
20040 PRINT
20050 PRINT
20060 PRINT
20070 END
20080 PRINT
20090 END
21000 REM DATA
21010 DATA DOLLAR LOSES VALUE OVERSEAS !,. 90
21020 DATA DOLLAR GAINS VALUE O VERSE AS !, 1 . 1 O
21030 DATA WORSENING RELATIONS WITH COMMUNIST COUNTRIES
!,.85
21040 DATA KEY CABINET MEMBER CAUGHT TAKING BRIBES,. 95
21050 DATA INFLATION TAPERING OFF., 1.10
21060 DATA SERIOUS RECESSIONS LOOMS !,.80
21070 DATA EOD,0
21080 DATA STEEL STRIKE! , .85, . 95, . 80, 1 . O, 1 . O, 1 .O
21090 DATA SERIOUS GASOLINE SHORTAGE. PRICES
,95, .75,1.0,1.0
1,
SKYROCKET
!, 1.4,1. 2,
21100 DATA WAR IN MID EAST! , 1. 2, 1 .O, 1. 4, 1 . O, 1 .0, 1.0
21110 DATA SAFE DISPOS^^ OF ATOMIC WASTE FOUND! ,. 80, . 90, 1 . O,
1.0,1.0,1.2
21120 DATA HUGE NEW COAL FIELD FOUND IN U.S. ! , . 75, .80, 1 . 1 , 1.
0,1.0,1.1
21130 DATA RECORD COLD WINTER HITS! , 1 . 2, 1 . 2, 1 . O, 1 .7, 1 . O, 1 .0
21140 DATA EOD, 0,0,0,0,0,0
21150 DATA RUMOR OF NEW OIL FIELD DISCOVERY BY MIDNIGHT
OIL!, 2. 5, .1,1
21160 DATA OIL FIELD A BUST - MIDNIGHT OIL DOWN
S!
21170 DATA NEW INEXPENSIVE ELECTRIC CELL FOUND
SEEKERS ! , 2. O, . 75, 3
21180 DATA SOLAR CELL NOT YET PERFECTED - IT MELTS
THE TUBE
BY SOLAR
302
21190 DATA MCOANIEL AIRCRAFT SELLS 100 JETS TO MIDEAST.,
1.5, .75,3
21200 DATA GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT OF WAR -
MONGER ING!
21210 DATA HAPPY DAYS SOUTHERN MOTELS ANNOUNCES GRAND OPE
NING OF NEW LUXURY RETREAT AT KEY WEST. ,2.0, .2,3
21220 DATA HURRICANE HITS KEY WEST - NEW RESORT DESTROYE
D!
21230 DATA PHONE RATES FROZEN BY CONSUMERS' GROUP, .8, 1. 0,2
21240 DATA COURT OVER - RULES PHONE RATE FREEZE.
21250 DATA FRIENDLY ELECTRIC COMPANY LOSES MAIN ATOMIC RE
ACTOR!,. 75, 1.0,2
21260 DATA REACTOR DAMAGE MINOR - BACK IN OPERATION
21270 DATA EOD,0,0,0, EOD
TABLE OF VARIABLES
G*
1010 1050 1070 1070 1070 1150
5020 5030 5040
GF<
1010 1150 5050
N«
1010 1070 1210 5070 5080 5090
Nl(
lOlO 1210 5100
N2(
lOlO 1210 5110
N3(
lOlO 1210 5120
N4(
lOlO 1210 5130
N5<
1010 1210 5140
N6(
lOlO 1210 5150
S«
1010 1070 1270 5170 5180 5190
SY(
1010 1270 5200
SN(
lOlO 1270 5210
303
lOlO 1270 5220
sn«
lOlO 1070 1270 4070 5230
C(
1020
1310
1320
1330
1340
1350
1360
6030
6080
6090
6100
6110
6120
6130
7020
7020
7090
7090
8130
81SO
8270
16030
16030
S<
1020
1380
6030
6080
6090
6100
6110
6120
6130
8140
8140
8250
8260
8260
16020
16020
N(
1020
5100
5110
5120
5130
5140
5150
7020
GI«
1030
1090
1110
1110
1110
1110
1140
1150
NI«
1030 1110 1200 1210
1030 mo 1260 1270
srii«
1030 mo 1260 1270
SA«
1030
2290
2500
2680
SUN*
1030
mo
5230
I
1040
1050
1050
1060
1080
1090
1090
llOO
1130
1150
1170
1190
1210
1210
1210
1210
1210
1210
1230
1250
1270
1270
1270
1290
1370
1380
1390
2010
2030
2070
2760
2770
4080
4090
6020
6030
6030
6040
7010
7020
7020
7020
7030
16010
16020
16020
16030
16030
16040
LN
1120
1150
1160
1160
1180
1210
1220
1220
1240
1270
1270
1280
1280
304
GF
1140 1150 5050 7020
Nl
1200 1210
N2
1200 1210
N3
1200 1210
N4
1200 1210
NS
1200 1210
1200 1210
SY
1260 1270 5200 7060
SN
1260 1270 4070 5210 7080
OD
1260 1270 5220 7050
CA
1300 6140 6160 8130 8150 8150
8270 8270 16050 16050 20040 20060
DA
4010 4010 4020
SF
4070 7060 7080 7090
C
4070 4070 5240 7090 7090
R
5020 5020 5030 5030 5040 5040
5050 5070 5070 5080 5080 5090
5090 5100 5110 5120 5130 5140
5150 5170 5170 5180 5180 5190
5190 5200 5210 5220 5230 5230
5240 7050 lOOlO 10500
VA
60 lO 6030 6030 6150 6160 16060
16060 20050 20060
305
Z2
8040
8050
8050
8060
8070
8100
8130
8140
8140
8150
8210
8220
8220
8250
8260
8260
8270
8120
8130
8140
8150
8240
8250
8260
8270
PROGRAM LISTING: MICROSOFT BASIC
100 REM STOCK MARKET BY GARY 0RWI6
SOO REM RESEED RND
510 RANDOMIZE
1000 REM INITIALIZE
1010 REM DEFINE A FUNCTION TO ROUND NO.S TO 2 PLACES.
1020 DEF RD<X) = INT(X*100+.5)».01
1030 DIM 6«(6),GF(6>,N«(6),N1(6),N2(6),N3(6>,N4(6>,N5(6>,N6(
6) , S« (6) , SY (6) , SN (6) , OD (6) , SM« (6)
1040 DIM C(6),S(6),N(6)
1050 FOR 1=1 TO 6
1060 READ G«(I),eF(I)
1070 NEXT I
1080 FOR 1=1 TO 6
1090 READ N«(I>,N1(I),N2(I},N3(I),N4(I),N5(I),N6(I)
llOO NEXT I
mo FOR 1=1 TO 6
1120 READ S«(I>,SY(I),SN(I),OD(I),SM«<I)
1130 NEXT I
1140 CA=10000:REM cash to START WITH
1150 C(1)=20:REM these 6 VALUES ARE STARTING PRICES OF STOCK
1160 C(2)=30
1170 C(3>=70
1180 C(4)=40
1190 C(5)=50
1200 C(6)=40
1210 REM USE FULL SCREEN
1220 POKE 82, O
1230 CLS
2000 REM INTRODUCTION
2010 FOR 1=1 TO 50
2020 PRINT "STOCK MARKET
2030 NEXT I
2040 PRINT
2050 PRINT
2060 PRINT
2070 FOR 1=1
2080 NEXT I
2090 PRINT "
2100 PRINT
21 lO PRINT
2120 PRINT
2130 PRINT
2140 PRINT
TO lOOO
"THIS IS A SIMULATION OF SOME OF THE"
"EVENTS WHICH TAKE PLACE IN THE"
"BUYING AND SELLING OF STOCK. "
"YOU GET TO BUY AND SELL FROM A LIMITED"
"PORTFOLIO OF STOCKS BASED UPON NEWS"
306
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
2310
2320
2330
2340
2350
2360
2370
2380
2390
2400
2410
2420
2430
2440
2450
2460
2470
2480
2490
2500
2510
2520
2530
2540
2550
2560
2570
2580
2590
2600
2610
2620
2630
2640
2650
2660
2670
2680
2690
2700
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
PRINT
"HEADLINES RELEVANT TO THOSE COMPANIES."
"YOU START WITH lOOOO DOLLARS, AND YOUR"
"SOLE MISSION IS TO INCREASE THAT VALUE"
"AS MUCH AS POSSIBLE IN 6 BUY 1 1«3/ SELLING*
"SESSIONS. "
"DO WATCH THE HEADLINES CAREFULLY."
"THEY ARE YOUR ONLY HINTS FOR SUCCESS."
"BE CAREFUL, THOUGH BECAUSE NOT ALL"
"HEADLINES ALWAYS TURN OUT TO BE TRUE!"
"PRESS 'RETURN' TO CONTINUE.
SA«
"HERE ARE THE COMPANIES:"
"MIDNIGHT OIL COMPANY"
"A COMPANY KNOWN FOR TAKING BIG RISKS."
"SOMETIMES THEY WIN, BUT OFTEN THEY LOSE!"
"SOLAR SEEKERS, INC."
"A NEW COMPANY JUST GETTING ESTABLISHED."
"APPEAR TO EMPLOY A NUMBER OF HIGH"
"TECHNOLOGY EXPERTS."
"MCDANIEL AIRCRAFT"
"A WELL ESTABLISHED MILITARY/ INDUSTRIAL"
"ORIENTED AERONAUTICS COMPANY."
"PRESS 'RETURN' TO CONTINUE.
SA«
"HAPPY DAYS SOUTHERN MOTELS"
"A LARGE CHAIN OF SOUTH UNITED STATES"
"MOTELS. LARGELY DEPENDENT UPON TOURISM. "
"COMMUNITY PHONE COMPANY"
"A TYPICAL UTILITY CONSERVATIVE AND"
"FAIRLY IMMUNE TO WORLD PROBLEMS."
"FRIENDLY ELECTRIC COMPANY"
"A VERY PROGRESSIVE UTILITY, HEAVY INTO"
"NUCLEAR POWER, WITH QUITE A BIT OF"
" COMMUN I T Y OPPOS I T I ON . "
"PRESS
SA$
RETURN' TO CONTINUE."
307
2710 PRINT
2720 PRINT
2730 PRINT "HERE WE BO!"
2740 PRINT
2750 PRINT
2760 PRINT
2770 FOR 1=1 TO 1500
2780 NEXT I
4000 REM MAIN PROGRAM
4010 DA=DA+1
4020 IF DA=7 THEN 20000
4030 GOSUB 5000
4040 GOSUB 6000
40S0 GOSUB eooo
4060 GOSUB 7000
4070 IF SF=SN THEN PRINT SM«(C}
4080 GOTO 4000
5000 REM PRINT HEADLINES
5010 GOSUB 10000
5020 IF G*(R)="*" THEN 5010
5030 PRINT G«(R)
5O40 G*(R)="»"
5050 GF=GF<R)
5060 GOSUB 10000
5070 IF N*<R)="»" THEN 5060
5080 PRINT N«<R)
5090 N%IR)-"*"
5100 N(1)=N1<R)
51 lO N(2)=N2(R)
5120 N<3)=N3<R)
5130 N(4)=N4(R)
5140 N<5)=N5<R)
5150 N(6)=N6(R)
S160 GOSUB 10000
5170 IF S*(R)="»" THEN 5160
5iaO PRINT S*<R)
5190 S*(R)="»"
5200 SY=SY(R>
5210 SN=SN(R)
5220 OD=OD(R)
5230 SM«=SM»(R)
5240 C=R
5250 RETURN
6000 REM MENU
6010 VA=0
6020 FOR 1=1 TO 6
6030 VA=VA+S ( I ) *C ( I )
6040 NEXT I
6050 GOSUB 16000
6060 PRINT "COMPANY SHARES
VALL^"
6070 PRINT
6080 PRINT "1. MID. OIL ";" ";S<1);"
" ; c < 1 >
6090 PRINT "2. SOL SEE ";" ";S<2);"
";C(2)
6100 PRINT "3. MC AIR ";" ";S(3);"
"SC<3)
61 lO PRINT "4. HAP MO ";" ";S(4>;"
";C(4)
6120 PRINT "5. COM PHO ";" ";S(5);"
";C<5)
308
6130
6140
6150
6160
6170
7000
7010
7020
7030
7040
7050
7060
7070
7080
7090
7100
8000
8010
8020
8030
8040
8050
8060
8070
8080
8090
8100
8110
8120
8130
8140
8150
8160
8170
8180
8190
8200
8210
8220
8230
8240
8250
8260
8270
8280
8290
8300
8310
8320
lOOOO
lOOlO
10020
10500
10510
16000
16010
PRINT "6. FRI ELEC " ; "
PRINT "CASH ON HAND: " ; CA
PRINT "VALUE OF STOCK: " ; VA
PRINT "TOTAL WORTH: " ? CA+VA
";s<6);
;C(6)
RETURN
REM CALCULATE STOCK VALUE
FOR 1=1 TO 6
C ( I ) =C < I ) *GF«N < I )
NEXT I
GOSUB 10500
IF R > OD THEN GOTO 7080
SF=SY
GOTO 7090
SF=SN
C(C)=C(C)»SF
RETURN
REM PURCHASE, SELL
WISH TO: "
PURCHASE"
SELL"
NEITHER"
1, 2, OR 3"
PRINT "DO YOU
PRINT " 1.
PRINT " 2.
PRINT " 3.
PRINT "ENTER
INPUT Z
IF Z<1 OR Z>3 THEN 8050
IF Z=2 THEN 8210
IF Z=3 THEN RETURN
PRINT "BUY WHICH NUMBER?"
PRINT "ENTER A NUMBER 1 THROUGH 6."
INPUT Z
PRINT "HOW MANY SHARES?"
INPUT Z2
IF C(Z) * Z2 > CA THEN GOTO 8190
S(Z)=S(Z>+Z2
CA=CA-<C(Z)*Z2)
GOTO 4040
PRINT "YOU DON'T HAVE ENOUGH MONEY!"
GOTO 8000
PRINT "SELL WHICH NUMBER?"
PRINT "ENTER A NUMBER 1 THROUGH 6"
INPUT Z
IF Z<1 OR Z>6 THEN 8220
PRINT "HOW MANY SHARES?"
INPUT Z2
IF Z2>S(Z) THEN 8310
S(Z)=S(Z)-Z2
CA=CA+Z2»C(Z)
GOTO 4040
PRINT "YOU DON'T HAVE THAT MANY SHARES!
GOTO 8000
REM RANDOMIZATION
R=RND(6)
RETURN
R=RND(4)
RETURN
REM ROUNDING ROUTINE
FOR 1=1 TO 6
309
= RD(S(I))
= RD(C(I))
I
16020 S(I)
16030 C(I)
16040 NEXT
16050 CA = RD(CA)
16060 VA = RD(VA)
16070 RETURN
20000 REM CLOSING
20010 GOSUB 6000
20020 PRINT "YOU HAVE COMPLETED THE SIX CYCLES!"
•YOU STARTED WITH lOOOO DOLLARS. "
•YOU NOW HAVE ";CA;" DOLLARS CASH."
•AND ";VA;" DOLLARS WORTH OF STOCK."
20060 PRINT "THIS IS A TOTAL VALUE OF ";CA+VA;" DOLLARS.
20070 END
20080 PRINT "BYE FOR NOW!"
20090 END
21000 REM DATA
21010 DATA "DOLLAR LOSES VALUE OVERSEAS !",. 90
21020 DATA "DOLLAR GAINS VALUE O VERSEAS ! " , 1 . 1 O
21030 DATA "WORSENING RELATIONS WITH COMMUNIST
S ! " , . 85
21040 DATA
21050 DATA
20030 PRINT
20040 PRINT
20050 PRINT
COUNTRIE
KEY CABINET MEMBER CAUGHT TAKING BRIBES ",.95
INFLATION TAPERING OFF. ",1.10
21060 DATA "SERIOUS RECESSIONS LOOMS !",. 80
21070 DATA "STEEL STRIKE ! " , .85, . 95, . 80, 1 . O, 1 . O, 1 . O
21080 DATA "SERIOUS GASOLINE SHORTAGE, PRICES SKYROCKE
T ! " , 1 . 4, 1 . 2, . 95, . 75, 1.0,1.0
21090 DATA "WAR IN MID EAST! ", 1. 2, 1 . O, 1 .4, 1.0, 1 . O, 1 .
21100 DATA "SAFE DISPOSAL OF ATOMIC WASTE FOUND ! " , .80, . 90, 1 .
0,1.0,1.0,1.2
21110 DATA "HUGE NEW COAL FIELD FOUND IN U. S. ! " , . 75, .80, 1 . 1 ,
1.0,1.0, 1. 1
21120 DATA "RECORD COLD WINTER HITS ! " , 1 . 2, 1 . 2, 1 . O, 1 . 7, 1 . O, 1 .
O
21130 DATA "RUMOR OF NEW OIL FIELD DISCOVERY BY MIDNIGHT
OIL! ",2.5, .1,1
21140 DATA "OIL FIELD A BUST, MIDNIGHT OIL DOWN THE TUBE
S! "
21150 DATA "NEW, INEXPENSIVE ELECTRIC CELL FOUND BY SOLAR
SEEKERS ! " , 2. O, . 75, 3
21160 DATA "SOLAR CELL NOT YET PERFECTED - IT MELTS"
21170 DATA "MCDANIEL AIRCRAFT SELLS 100 JETS TO MIDEAST.
••,1.5,-75,3
21180 DATA "GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT OF WAR -
MONGERING!"
21190 DATA "HAPPY DAYS SOUTHERN MOTELS ANNOUNCES GRAND OP
ENING OF NEW LUXURY RETREAT AT KEY WEST. " , 2. O, . 2, 3
21200 DATA "HURRICANE HITS KEY WEST, NEW RESORT DESTROYE
D! "
21210 DATA "PHONE RATES FROZEN BY CONSUMERS' GROUP" , .8, 1 . O, 2
21220 DATA
21230 DATA
•PHONE RATES FROZEN BY CONSUMERS' GROUP"
•COURT OVER - RULES PHONE RATE FREEZE. "
•FRIENDLY ELECTRIC COMPANY LOSES MAIN
,75, 1.0,2
ATOMIC R
EACTOR !
21240 DATA "REACTOR DAMAGE MINOR, BACK IN OPERATION'
310
TABLE OF VARIABLES
»RD(*) - ROUNDING FUNCTION
1020 16020 16030 16050 16060
C - BUFFER FOR RANDOM NUMBER
4070 5240 7090 7090
C(*) - VALUE OF STOCKS
1040 1150 1160 1170 liao 1190
1200 6030 6080 6090 6100 6110
6120 6130 7020 7020 7090 7090
a ISO 8170 8290 16030 16030
CA - CASH ON HAND
1140 6140 6160 8150 8170 8170
8290 8290 16050 16050 20040
20060
DA - DAY NUMBER
4010 4010 4020
G*<») - GENERAL INTEREST HEADLINES LIST
1030 1060 5020 5030 5040
GF - GENERAL HEADLINE FACTOR
5050 7020
GF(») - GENERAL HEADLINES FACTORS LIST
1030 1060 5050
I - COUNTER
1050
1060
1060
1070
1080
1090
1090
1090
1090
1090
1090
1090
llOO
mo
1120
1120
1120
1120
1120
1130
2010
2030
2070
2080
2770
2780
6020
6030
6030
6040
7010
7020
7020
7020
7030
1601<
16020 16020 16030 16030 16040
N*<*) - SPECIFIC HEADLINES LIST
1030 1090 5070 5080 5090
N(*) - SPECIFIC HEADLINE FACTOR
1040 5100 5110 5120 5130 5140
5150 7020
Nl<») - SPEC HEAD FACT LIST
1030 1090 5100
N2<») -
1030 1090 5110
N3(«) - "'
1030 1090 5120
311
N4<») - •
1030 1090 5130
N5(«) - •"•••"
1030 1090 5140
N6<») - "•
1030 1090 5150
OD - ODDS
5220 7050
0D(») - ODDS LIST
1030 1120 5220
R - RANDOM NUMBER
5020 5030 5040 5050 5070 5080
5090 5100 5110 5120 5130 5140
5150 5170 5180 5190 5200 5210
5220 5230 5240 7050 lOOlO 10500
S«<»> - POSITIVE NEWS LIST
1030 1120 5170 5180 5190
S(*) - SHARES OF EACH STOCK
1040 6030 6080 6090 6100 6110
6120 6130 8160 8160 8270 8280
8280 16020 16020
SA* - STUDENT ANSWER
2300 25 lO 2690
SF - STOCK FACTOR
4070 7060 7080 7090
SM« - SPECIFIC BAD NEWS
5230
SM«(*> - SPECIFIC BAD hBEWS LIST
1030 1120 4070 5230
SN - FACTOR ON NEGATIVE NEWS
4070 5210 7080
SN<*) - FACTOR ON NEGATIVE NEWS LIST
1030 1120 5210
SY - FACTOR ON POSITIVE NEWS
5200 7060
SY<«) - FACTOR ON POSITIVE NEWS LIST
1030 1120 5200
VA - VALUE OF STOCK
6010 6030 6030 6150 6160 16060
16060 20050 20060
312
X - DEFINE ROUNDING FUNCTION
1020 1020
Z - STUDENT INPUT SELECTION
8060 8070 8070 8080 8090 8120
8150 8160 8160 8170 8230 8240
8240 8270 8280 8280 8290
Z2 - STUDENT INPUT SHARES
8140 8150 8160 8170 8260 8270
8280 8290
END OF VAR. LIST
SAMPLE RUN
THIS IS A SIMULATION OF SOME OF THE
EVENTS WHICH TAKE PLACE IN THE
BUYING AND SELLING OF STOCK.
YOU GET TO BUY AND SELL FROM A LIMITED
PORTFOLIO OF STOCKS BASED UPON NEWS
HEADLINES RELEVANT TO THOSE COMPANIES.
YOU START WITH lOOOO DOLLARS, AND YOUR
SOLE MISSION IS TO INCREASE THAT VALUE
AS MUCH AS POSSIBLE IN 6 BUYING /SELLING
SESSIONS.
DO WATCH THE HEADLINES CAREFULLY.
THEY ARE YOUR ONLY HINTS FOR SUCCESS.
BE CAREFUL, THOUGH BECAUSE NOT ALL
HEADLINES ALWAYS TURN OUT TO BE TRUE!
PRESS 'RETURN' TO CONTINUE.
HERE ARE THE COMPANIES:
MIDNIGHT OIL COMPANY
A COMPANY KNOWN FOR TAKING BIG RISKS.
SOMETIMES THEY WIN, BUT OFTEN THEY LOSE!
SOLAR SEEKERS, INC.
A NEW COMPANY JUST GETTING ESTABLISHED.
APPEAR TO EMPLOY A NUMBER OF HIGH
TECHNOLOGY EXPERTS.
MCDANIEL AIRCRAFT
A WELL ESTABLISHED MILITARY/ INDUSTRIAL
ORIENTED AERONAUTICS COMPANY.
313
PRESS 'RETURN' TO CONTINUE.
HAPPY DAYS SOUTHERN MOTELS
A LARGE CHAIN OF SOUTH UNITED STATES
MOTELS. LARGELY DEPENDENT UPON TOURISM.
COMMUNITY PHONE COMPANY
A TYPICAL UTILITY CONSERVATIVE AND
FAIRLY IMMUNE TO WORLD PROBLEMS.
FRIENDLY ELECTRIC COMPANY
A VERY PROGRESSIVE UTILITY, HEAVY INTO
NUCLEAR POWER, WITH QUITE A BIT OF
COMMUNITY OPPOSITION.
PRESS 'RETURN' TO CONTINUE.
HERE WE GO!
INFLATION TAPERING OFF.
RECORD COLD WINTER HITS!
NEW, INEXPENSIVE ELECTRIC CELL FOUND
COMPANY SHARES VALUE
BY SOLAR SEEKERS!
1. MID. OIL
2. SOL SEE
3. MC AIR
o
4. HAP MO
5. COM PHO
6. FRI ELEC
o
CASH ON HAND: lOOOO
VALUE OF STOCK: O
TOTAL WORTH: lOOOO
DO YOU WISH TO:
1. PURCHASE
2. SEI i
3. NEITHER
ENTER 1, 2, OR 3
?1
BUY WHICH NUMBER?
ENTER A NUMBER 1 THROUGH 6
?2
HOW MANY SHARES?
?300
COMPANY SHARES
1. MID. OIL
2. SOL SEE
300
20
30
70
40
50
40
VALUE
20
30
314
3.
MC AIR
4.
HAP MO
5.
COM PHO
6.
FRI ELEC
70
40
50
40
CASH ON HAND: 1000
VALUE OF STOCK: 9000
TOTAL WORTH: 10000
DO YOU WISH TO:
1. PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
?1
BUY WHICH NUMBER?
ENTER A NUMBER 1 THROUGH 6.
?1
HOW MANY SHARES?
?ioo
YOU DON'T HAVE ENOUGH MONEY!
DO YOU WISH TO:
1- PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
?1
BUY WHICH NUMBER?
ENTER A NUMBER 1 THROUGH 6.
?1
HOW MANY SHARES?
?45
COMPANY SHARES VALUE
1. MID. OIL 45 20
2. SOL SEE 300 30
3. MC AIR O 70
4. HAP MO O 40
5. COM PHO O 50
6. FRI ELEC O 40
CASH ON HAND: lOO
VALUE OF STOCK: 9900
TOTAL WORTH: lOOOO
DO YOU WISH TO:
1 . PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
?3
KEY CABINET MEMBER CAUGHT TAKING BRIBES
STEEL STRIKE!
MCDANIEL AIRCRAFT SELLS lOO JETS TO MIDEAST.
COMPANY SHARES VALUE
26.4
79.2
77
74.8
1.
MID. OIL
45
2.
SOL SEE
300
3.
MC AIR
4.
HAP MO
315
5. COM PHO
55
6. FRI ELEC
44
CASH ON HAND: 100
VALUE OF stock: 24948
TOTAL WORTH: 25048
DO YOU WISH TO:
i. PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
?2
SELL WHICH NUMBER?
ENTER A NUMBER 1 THROUGH 6
?2
HOW MANY SHARES?
?300
COMPANY SHARES
VALUE
1. MID. OIL
45
26.4
2. SOL SEE
O
79.2
3. MC AIR
O
77
4. HAP MO
O
74.8
5. COM PHO
O
55
6- hKI El FC
44
CASH ON HAND: 23860
VALUE OF STOCK: 1188
TOTAL WORTH: 25048
DO YOU WISH TO:
1. PURCHASE
2- SELL
3- NEITHER
ENTER 1, 2, OR 3
71
BUY WHICH NUMBER?
ENTER A NUMBER 1 THROUGH
?3
HOW MANY SHARES?
?250
COMPANY SHARES
VALUE
45
26.4
79.2
250
77
74.8
55
44
1. MID. OIL
2. SOL SEE
3. MC AIR
4. HAP MO
5. COM PHO
6. FRI ELEC
CASH ON HAND: 4610
VALUE OF STOCK: 20438
TOTAL WORTH: 25048
DO YOU WISH TO:
1. PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
?3
GOVERNMENT ACCUSSES MCDANIEL AIRCRAFT
OF WAR - MONGER I NG!
316
DOLLAR GAINS VALUE OVERSEAS!
WAR IN MID EAST!
PHONE RATES FROZEN BY CONSUMERS' GROUP
COMPANY SHARES VALUE
1. MID. OIL
45
21.32
2. SOL SEE
71.48
3. MC AIR
250
43.89
4. HAP MO
71.06
5. COM PHO
52.25
6. bHI Fl FC
41.8
CASH ON HAND:
4610
VALUE OF STOCK: 11931.81
TOTAL WORTH: 16541.81
DO YOU WISH TO:
1. PURCHASE
2. SELL
3. NEITHER
ENTER 1, 2, OR 3
317
Teach Me
PROGRAM DESCRIPTION
A fundamental demonstration of computer logic or "intelli-
gence" is demonstrated in this program. The computer's memory is
expanded by inputting questions and correct answers into the
computer. You start with one question and the computer gradually
builds its memory from one question to the next.
There is only one restriction in that the question must be
answered with a "YES" or a "NO". In order to see the logic "tree"
being developed, type in "LIST" at the beginning of each sequence.
You can stop the building sequence by entering "STOP".
PROGRAM NOTES
This program has been around in many versions for quite
some time. Although actual techniques vary, the result is always
the construction of a "decision tree." With careful construction,
the decision tree will make the computer appear to be learning.
Whether or not this is true intelligence can be debated, but it is
fun!
You might want to develop a method for saving the string
array F$() and reading it back in again at some other time. This
would let you continue an interesting "training" session.
PROGRAM LISTING: BASIC
318
lOO REM TEACH ME BY GARY ORWIG
500 REM PUT MESSAGE ON SCREEN
510 PRINT
520 PRINT "ONE MOMENT PLEASE!"
lOOO REM INITIALIZATION - MX DETERMINES MAXIMUM FILE SIZE
- MAY INCREASE IF MEMORY PERMITS.
1010 MX=200
1020 DIM F«(MX»40)
1030 DIM FI*(40),I*(40) ,S«(40) ,SA*(40)
1040 FOR 1=1 TO MX
1 050 F* ( I «40-39 , I *40 ) = "
1060
1070
1080
1090
llOO
lllO
1120
1130
1140
1150
1160
1170
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
22 lO
2220
2230
2240
2250
2260
2270
2280
2290
2300
3000
3010
3020
3030
3040
3050
:S«(I,I)=" ":SA*(I,I)="
NEXT I
FOR 1=1 TO 40
FI«(I,I)=" ••:l«<i,i)="
NEXT I
F* ( 1 »40-39 , 40 ) = " YES "
F* ( 2*40-39 , 2*40 ) = " ON "
F% (4*40-39, 4*40) ="YES"
F* (6*40-39, 6*40) ="NO"
F* (8*40-39, 8*40) ="EOD"
REM USE FULL SCREEN
POKE 82,0
PRINT
REM INTRODUCTION
LI =24
GOSUB 18000
FOR 1=1 TO 50
PRINT " TEACH ME! "5
NEXT I
DE=200
GOSUB 19000
18000
"THIS IS A PROGRAM WHICH ALLOWS YOU"
PRINT "TO TEACH THE COMPUTER!"
PRINT
PRINT "THE COMPUTER STARTS WITH A QUESTION,
PRINT "AND GRADUALLY BUILDS FROM IT."
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
GOSUB
PRINT
"THERE IS ONLY ONE RESTRICTION IN THAT"
"THE QUESTION MUST BE ANSWERED WITH"
"A 'YES' OR 'NO'
"IS ALLOWED!"
NOTHING IN BETWEEN"
"TO SEE THE LOGIC TREE lnH^ICH IS"
"BEING DEVELOPED, TYPE IN 'LIST'"
PRINT "AT THE BEGINNING OF A SEQUENCE."
PRINT
TO STOP, TYPE IN 'STOP' AT THE"
BEGINNING OF A SEQUENCE.
RETURN' TO CONTINUE.
PRINT
PRINT
PRINT
PRINT "PUSH
INPUT SA«
GOSUB 18000
i=o
REM INPUT OPERATING PARAMETERS
PRINT "GIVE ME A QUESTION TO START WITH."
PRINT "LIKE 'DOES IT SWIM?'"
INPUT SA«
F* (3*40-39, 3*40) =SA*
PRINT "GIVE ME THE NAME OF SOMETHING WHICH DOES'
319
3060 INPUT SA«
3070 F* ( 5*40-39 , 5*40 ) =S A*
3080 PRINT "GIVE ME THE NAME OF SOMETHING WHICH"
3090 PRINT "DOESN'T."
3100 INPUT SA*
3 1 1 O F* ( 7*40-39 , 7»40 ) =SA«
4000 REM MAIN PROGRAM
4010 LI=6
4020 GOSUB 18000
4030 PRINT "TEACH ME!"
4040 LI=&
4050 GOSUB IBOOO
4060 B=0
4070 A=0
4080 1=1
4090 1=1+1
4100 BW=I»40-39
41 lO EW=I*40
4120 IF F*(BW,BW+l)="ON" THEN 4160
4130 IF F«(BW-40,BW-38)="YES" THEN 4420
4140 IF F«(BW-40,BW-39)="N0" THEN 4420
4150 GOTO 4090
4160 L=I+1
4170 FOR I=L TO MX
4180 BW=I*40-39
4190 EW=I*40
4200 J=I
4210 IF F»(BW,BW+2)="YES- THEN 4260
4220 PRINT
4230 PRINT F«(BW,EM)
4240 PRINT
4250 NEXT I
4260 INPUT SA*
4270 IF SA*="YES" THEN 4090
4280 IF SA*="LIST" THEN 7020
4290 IF SA«="STOP" THEN 20000
4300 FOR I=J TO MX
4310 BW=I»40-39
4320 EW=I*40
4330 IF F»(BW,BW+2)="YES" THEN 4350
4340 GOTO 4370
4350 B=B+1
4360 GOTO 4400
4370 IF F*<BW,BW+l)="NO" THEN 4390
4380 GOTO 4400
4390 A=A+1
4400 IF B=A THEN GOTO 4090
4410 NEXT I
4420 PRINT
4430 PRINT "ARE YOU THIlsH<ING OF A "
4440 PRINT F«(BW,EW)
4450 INPUT SA*
4460 PRINT
4470 IF SA*="NO" THEN 4500
4480 GOSUB 12000
4490 GOTO 4030
320
"OK, I GIVE UP! WHAT WERE"
"YOU THINKING OF?"
"TYPE IN A QUESTION,"
"WHICH WHEN ANSWERED 'YES'"
"WILL INDICATE YOU ARE THINKING OF THE'
4500 PRINT
4510 PRINT
4320 PRINT
4530 INPUT SA«
4540 PRINT
4550 PRINT
4560 PRINT
4570 PRINT
4580 PRINT SA»
4590 PRINT
4600 I«="ON"
46 lO GOSUB 60 lO
4620 S«=SA«
4630 L=I
4640 L=L+1
4650 INPUT SA*
4660 I«=SA«
4670 PRINT
4680 I=L
4690 GOSUB 6010
4700 1=L+1
4710 I*="YES"
4720 GOSUB 6010
4730 SA«=S*
4740 I=L+2
4750 I«=SA«
4760 GOSUB 6010
4770 I=L+3
4780 I*="NO"
4790 GOSUB 6010
4800 GOTO 4030
6000 REM SHUFFLE STACK
6010 M=I-1
6020 M=M+1
6030 IF F«(M*40-39,M*40-37)="E0D
6040 GOTO 6020
6050 IF M=MX THEN 20040
6060 FOR N=M+1 TO I STEP -1
6070 F» ( N*40-39 , N*40 ) =F* ( C N- 1 ) »40-39 , ( N- 1 ) »40 )
6080 NEXT N
6090 LN=LEN(I«)
6100 FOR Q=LN+1 TO 40
6110 I«(Q,Q)=" "
6120 NEXT Q
6130 F«(I»40-39, I«40)=I«
6140 RETURN
7000 REM PRINT THE STACK
7010 PRINT
7020 D=l
7030 FOR H=D TO D+15
7040 PRINT F*<H*40-39,H*40)
7050 NEXT H
7060 D=D+16
7070 PRINT
7080 PRINT "PRESS 'RETURN' TO"
7090 PRINT "CONTINUE LIST- "
THEN 6050
321
IN 'RETL«N' TO RETURN TO PR06RAM.
THEN 7030
I BOT ONE RIGHT!
7100 PRINT "TYPE
7110 INPUT SA«
71 20 IF SA*<> "RETURN •
7130 GOTO 4030
12000 REM REWARD
12010 LI=12
12020 GOSUB 18000
12030 PRINT "
12040 GOSUB 18000
DE=150
GOSUB 19000
GOSUB 18000
RETURN
REM SCROLLING
FOR K=l TO LI
PRINT
NEXT K
18040 RETURN
19000 REM DELAY
FOR K=l TO DE
NEXT K
RETURN
REM CLOSING
PRINT " I HOPE YOU HAD
PRINT " BYE FOR NOW!"
END
REM OUT OF SPACE IN STACK
PRINT "YOU HAVE FILLED UP MY MEMORY!"
PRINT "I'M AFRAID I HAVE TO STOP NOW.'
PRINT "BYE! COME BACK AGAIN!"
END
12050
12060
12070
12080
18000
18010
18020
18030
19010
19020
19030
20000
20010
20020
20030
20040
20050
20060
20070
20080
FUN!
TABLE OF VARIABLES
MX
1010 1020 1040 4170 4300 6050
F»
1020 1050
1140 3040
4140 4210
6030 6070
1100 1110
3070 31 10
4230 4330
6070 61 30
1120 1130
4120 4130
4370 4440
7040
FI«
1030 1080
I«
1030 1080
4780 6090
4600 4660 47 10 4750
6110 6130
S«
1030 lOaO 4620 4730
SA«
1030 1080
322
2280 3030 3040 3060
3070 3100 3110 4260
4290 4450 4470 4530
4650 4660 4730 4750
4270 4280
4580 4620
7110 7120
1040
1050
1050
1060
1070
1080
1080
1080
1080
1080
1080
1080
1080
1090
2030
2050
2300
4080
4090
4O90
4100
4110
4160
4170
4 ISO
4190
4200
4250
4300
4310
4320 44 lO 4630 4680 4700 4740
4770 6010 6060 6130 6130
LI
2010 4010 4040 12010 18010
DE
B
2060 12050 19010
4060 4350 4350 4400
4070 4390 4390 4400
BW
4100
4120
4120
4130
4130
4140
4140
4180
4210
4210
4230
4310
4330
4330
4370
4370
4440
EW
41 lO 4190 4230 4320 4440
4160 4170 4630 4640 4640 4680
4700 4740 4770
4200 4300
M
60 lO 6020 6020 6030 6030 6050
6060
N
6060 6070 6070 6070 6070 6080
LN
Q
6090 6100
6100 6110 6110 6120
7020 7030 7030 7060 7060
323
H
K
7030 7040 7040 7050
18010 18030 19010 19020
PROGRAM LISTING: MICROSOFT BASIC
lOO REM TEACH ME BY GARY ORWIG
1000 REM INITIALIZATION - MX DETERMINES MAXIMUM FILE SIZE
MAY INCREASE IF MEMORY PERMITS.
lOlO MX = 200
DIM F«(MX)
1020
1030
1040
1050
1060
1070
1080
"YES"
"ON"
"YES"
"NO"
"EOD"
FULL SCREEN
F*(l) =
F*(2) =
F*(4) =
F*(6) =
F*(8) =
REM USE
1090 POKE 82, O
llOO CLS
REM INTRODUCTION
H = 24
GOSUB 18000
FOR I = 1 TO 10
PRINT " TEACH ME!
NEXT I
DE = 1500
GOSUB 19000
2000
2010
2020
2030
2040
2050
2060
2070
2080
2090
2100
2110
2120
2130
2140
2150
2160
2170
2180
2190
2200
2210
2220
2230
2240
2250
2260
2270
2280
2290
2300
3000
30 lO
3020
18000
"THIS IS A
"TO TEACH
PROGRAM WHICH ALLOWS YOU"
THE COMPUTER ! "
THE COMPUTER STARTS WITH A QUESTION,
AND GRADUALLY BUILDS FROM IT."
GOSUB
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
PRINT
INPUT
GOSUB
I = O
REM INPUT OPERATING PARAMETERS
PRINT "GIVE ME A QUESTION TO START WITH
PRINT "LIKE 'DOES IT SWIM?'"
"THERE IS ONLY ONE
"THE QUESTION MUST
"A 'YES' OR 'NO'.
"IS ALLOWED!"
"TO SEE THE LOGIC
"BEING DEVELOPED,
"AT THE BEGINNING
RESTRICTION IN THAT"
BE ANSWERED WITH"
NOTHING IN BETWEEN"
TREE WHICH IS"
TYPE IN 'LIST'"
OF A SEQUENCE."
'TO STOP, TYPE IN 'STOP' AT
'BEGINNING OF A SEQUENCE."
THE'
"PUSH
SA«
18000
RETURN' TO START."
324
3030
3040
3050
3060
3070
3080
4000
4010
4020
4030
4040
4050
4060
4070
4080
4090
4100
4110
4120
4130
4140
4150
41d>0
4170
4180
4190
4200
4210
4220
4230
4240
4250
4260
4270
4280
4290
4300
4310
4320
4330
4340
4350
4360
4370
4380
4390
4400
4410
4420
4430
4440
4450
4460
4470
4480
4490
INPUT F*(3)
PRINT "GIVE ME THE NAME OF SOMETHING WHICH DOES'
INPUT FtK5)
PRINT "GIVE ME THE NAME OF SCHiETHIlvN3 WHICH"
PRINT "DOESN'T."
INPUT F*(7)
REM MAIN PROGRAM
LI = 6
GOSUB 18000
PRINT "TEACH ME!"
LI = &
GOSUB
B = O
A = O
1 = 1
1 = 1
18000
+ 1
THEN 4140
"YES" THEN 4360
"NO" THEN 4360
•YES" THEN 4220
IF F«(I) = "ON"
IF F*<I - 1) =
IF F«<I - 1) =
GOTO 4090
L = I + 1
FOR I = L TO MX
J = I
IF F*(I) =
PRINT
PRINT F*(I)
PRINT
NEXT I
INPUT SA*
IF SA« = "YES" THEN 4090
IF SA* = "LIST" THEN 7020
IF SA* = "STOP" THEN 20000
FOR I = J TO MX
IF F*(I) = "YES" THEN 4290
GOTO 4310
B = B + 1
GOTO 4340
IF F*(I> = "NO" THEN 4330
GOTO 4340
A = A + 1
IF B = A GOTO 4090
NEXT I
PRINT
PRINT "ARE YOU THINKING OF A
INPUT SA»
PRINT
IF SA* = "NO" THEN 4430
GOSUB 12000
GOTO 4030
PRINT
';F*(I);"?"
PRINT
PRINT
INPUT SA*
PRINT
PRINT
PRINT
"OK, I GIVE UP! WHAT WERE'
"YOU THINKING OF?"
"TYPE IN A QUESTION,"
"WHICH WHEN ANSWERED 'YES'
325
4500 PRINT "WILL INDICATE YOU ARE THINKING OF THE"
4510 PRINT SA«
4520 PRINT
4530 I* = "ON"
4540 GOSUB 6010
4550 S« = SA«
4560 L = I
4570 L = L + 1
45Q0 INPUT SA*
4590 I* = SA*
4600 PRINT
4610 I = L
4620 GOSUB 6010
4630 I = L + 1
4640 I* = "YES"
4650 GOSUB 6010
4660 SA« = S«
4670 I = L + 2
4680 I« - SA«
4690 GOSUB 6010
4700 I = L + 3
4710 I* = "NO"
4720 GOSUB 6010
4730 GOTO 4030
6000 REM SHUFFLE STACK
6010 M = I - 1
6020 M = M + 1
6030 IF F*(M) = "EOD" THEN 6050
6040 GOTO 6020
6050 IF M = MX THEN 20500
6060 FOR N = M + 1 TO I STEP - 1
6070 F*<N) = F«(N - 1)
6080 NEXT N
6090 F»(I) = I*
6100 RETURN
7000 REM PRINT THE STACK
7010 PRINT
7020 D = 1
7030 FOR H = D TO D + 15
7040 PRINT F*(H)
7050 NEXT H
7060 D = D + 16
7070 PRINT
7080 PRINT "PRESS 'RETURN' TO"
7090 PRINT "CONTINUE LIST. "
7100 PRINT "TYPE IN 'RETURN' TO RETURN TO PROGRAM.
7110 INPUT SA*
7120 IF SA* < > "RETURN" THEN 7030
7130 GOTO 4030
12000 REM REWARD
12010 LI = 12
12020 GOSUB 18000
12030 PRINT " I GOT ONE RIGHT!"
12040 GOSUB 18000
12050 DE = 1000
12060 GOSUB 19000
326
12070 GOSUB 18000
12080 RETURN
18000 REM SCROLLING
18010 FOR K = 1 TO LI
18020 PRINT
18030 NEXT K
18040 RETURN
19000 REM DELAY
19010 FOR K = 1 TO DE
19020 NEXT K
19030 RETURN
20000 REM CLOSING
20010 PRINT ■■ I HOPE YOU HAD FUN!"
20020 PRINT " BYE FOR NOW ! "
20030 END
20500 REM OUT OF SPACE IN STACK
20510 PRINT "YOU HAVE FILLED UP MY MEMORY!*
20520 PRINT "I'M AFRAID I HAVE TO STOP NOW.
20530 PRINT "BYE! COME BACK AGAIN!"
20540 END
TABLE OF VARIABLES
A
4070 4330 4330 4340
B
4060 4290 4290 4340
D
7020 7030 7030 7060 7060
DE
2060 12050 19010
F«(*)
1020 1030 1040 1050 1060 1070
3030 3050 3080 4100 4110 4120
4170 4190 4270 43 lO 4370 6030
6070 6070 <b090 7040
H
7030 7040 7050
I
2030 2050 2300 4080 4090 4090
4100 41 lO 4120 4140 4150 4160
4170 4190 4210 4260 4270 4310
4350 4370 4560 46 lO 4630 4670
4700 6010 6060 6090
I«
4530 4590 4640 4680 47 lO 6090
327
J
4160 4260
K
18010 18030 19010 19020
L
4140 4150 4560 4570 4570 46 lO
4630 4670 4700
LI
2010 4010 4040 12010 18010
M
60 lO 6020 6020 6030 6050 6060
MX
lOlO 1020 4150 4260 6050
N
6060 6070 6070 6080
S«
4550 4660
SA«
2280 4220 4230 4240 4250 4380
4400 4460 4510 4550 4580 4590
4660 4680 7110 7120
END OF VAR. LIST
SAMPLE RUN
THIS IS A PROGRAM WHICH ALLOWS YOU
TO TEACH THE COMPUTER!
THE COMPUTER STARTS WITH A QUESTION,
AND GRADUALLY BUILDS FROM IT.
THERE IS ONLY ONE RESTRICTION IN THAT
THE QUESTION MUST BE ANSWERED WITH
A 'YES' OR 'NO'. NOTHING IN BETWEEN
IS ALLOWED!
TO SEE THE LOGIC TREE WHICH IS
BEING DEVELOPED, TYPE IN 'LIST'
AT THE BEGINNING OF A SEQUENCE.
TO STOP, TYPE IN 'STOP' AT THE
BEGINNING OF A SEQUENCE.
PUSH 'RETURN' TO START.
328
GIVE ME A QUESTION TO START WITH.
LIKE 'DOES IT SWIM?'
?DaES IT FLY?
GIVE ME THE NAME OF SOMETHING WHICH DOES
?BIRD
GIVE ME THE NAME OF SOMETHING WHICH
DOESN'T.
?CAT
TEACH ME!
DOES IT FLY?
?YES
ARE YOU THINKING OF A BIRD?
?N0
OK, I GIVE UP! WHAT WERE
YOU THINKING OF?
?AIRPLANE
TYPE IN A QUESTION,
WHICH WHEN ANSWERED 'YES'
WILL INDICATE YOU ARE THINKING OF THE
AIRPLANE
?DOES IT CARRY PEOPLE?
TEACH ME!
DOES IT FLY?
?YES
DOES IT CARRY PEOPLE?
?N0
ARE YOU THINKING OF A BIRD?
?YES
I GOT ONE RIGHT!
TEACH ME!
DOES IT FLY?
?NO
329
ARE YOU THINKING OF A CAT?
?NO
OK, I GIVE UP! WHAT WERE
YOU THINKING OF?
?DOG
TYPE IN A QUESTION,
WHICH WHEN ANSWERED 'YES'
WILL INDICATE YOU ARE THINKING OF THE
DOG
?DOES IT BARK?
TEACH ME!
DOES IT FLY?
?LIST
YES
ON
DOES IT FLY?
YES
ON
DOES IT CARRY PEOPLE?
YES
AIRPLANE
NO
BIRD
NO
ON
DOES IT BARK?
YES
DOG
NO
PRESS 'RETURN' TO
CONTINUE LIST.
TYPE IN 'RETURN' TO RETURN TO PROGRAM.
?RETURN
TEACH ME!
DOES IT FLY?
?STOP
I HOPE YOU HAD FUN!
BYE FOR NOW!
330
Appendix A
SOUND AND GRAPHIC SUBROUTINES
Two of the most exciting attributes of the Atari home computers are their abiUties to
produce sound and color graphics. Unfortunately, it would require another whole book
to properly treat these two areas. However, since sound and graphics can add so much to
computer-assisted instruction, the authors of this book felt it important to encourage you
to explore these areas. Graphics and sound are most easily added to the reward and
wrong-answer feedback areas. The following routines have been written with this in
mind, and for the most part they can be directly substituted into any of the programs. Just
drop the 12,000s or 14,000s from one of the programs and put one of these subroutines in
either place. As you gain confidence, you can try combining both graphics and sound for
really interesting results.
These routines merely touch the surface of the potential for sound and graphics. If
you get interested, check with your dealer for a good book or two that really go into the
details.
lOO REM RANDOM NOTES - PITCH AND DURATION VARY
110 REM MAIN PROGRAM AREA
120 REM GO TO SUBROUTINE
130 GOSUB 12000
140 REM CONTINUE WITH PROGRAM
150 REM IN THIS CASE, END-
160 END
12000 REM RANDOM NOTES
12010 FOR J=l TO 20
12020 SOUND 0,RND(0)*255, 10,10
12030 FOR 1=1 TO (RND (O) *4+l) *40
12040 NEXT I
12050 NEXT J
12060 SOUND 0,0,0,0
12070 RETURN
331
100 REM MUSICAL SCALE
110 REM THIS IS AN ATTENTION GETTING UP AND DOWN SCALE SOUND
120 REM MAIN PART OF PROGRAM
130 REM GOTO SUBROUTINE
140 GOSUB 12000
150 REM CONTINUE WITH PROGRAM
160 REM IN THIS CASE, END
170 END
12000 REM UP AND DOWN TONES
12010 FOR 1=255 TO 1 STEP -15
12020 SOUND O, I , 10, 10
12030 FOR J=l TO 20: NEXT J
12040 NEXT I
12050 FOR 1=1 TO 255 STEP 15
12060 SOUND 0,1,10,10
12070 FOR J=l TO 20: NEXT J
12080 NEXT I
12090 SOUND 0,0,0,0
12100 RETURN
100 REM BUZZ ROUTINE
110 REM JUMP TO WRONG ANSWER ROUTINE
120 REM TO PRODUCE AN UNPLEASANT BUZZ.
130 REM MAIN PART OF PROGRAM
140 GOSUB 14000
150 REM CONTINUE WITH PROGRAM
160 REM IN THIS EXAMPLE, END
170 END
14000 REM BUZZ
14010 SOUND 0,60,12,15
14020 SOUND 1,58,12,15
14030 FOR 1=1 TO 200
14040 NEXT I
14050 SOUND 0,0,0,0
14060 SOUND 0,0,0,0
14070 RETURN
lOO REM MUSIC
110 REM BE CAREFUL WITH THE DATA STATEMENTS.
120 REM YOU WILL HAVE TO USE ' RESTORE' CAREFULLY
130 REM IF THERE ARE OTHER DATA SATEMENTS IN THE PROGRAM.
140 REM GO TO THE SUBROUTINE
150 GOSUB 12000
160 REM CONTINUE WITH PROGRAM
170 REM IN THIS CASE END
ISO END
12000 REM MUSIC
12010 RESTORE 12140
12020 V=V+1
332
12030 IF V=5 THEN RETURN
12040 READ Nl , N2,N3, N4, L
12050 IF N 1=999 THEN GOTO 12010
12060 L=L«40
12070 IF V>0 THEN SOUND 0,N1,10,14
12080 IF V>1 THEN SOUND 1,N2,10,14
12090 IF V>2 THEN SOUND 2,N3,10,14
12100 IF V>3 THEN SOUND 3,N4,10,14
121 lO FOR 1=1 TO L
12120 NEXT I
12130 GOTO 12040
12140 DATA 121,96,81,60,1,96,81,60,47,1,81,60,47,40,1,60,47,
40,29,2,81,60,47,40,1,60,47,40,29,6
12150 DATA 0,0,0,0,6,999,999,999,999,999
lOO REM LARGE TEXT REWARD ROUTINE
llO REM MAIN PROGRAM AREA
120 REM GO TO SUBROUTINE
130 GOSUB 12000
140 REM CONTINUE WITH PROGRAM
150 REM IN THIS EXAMPLE, END
160 END
12000 REM LARGE TEXT REWARD
12010 GRAPHICS 2+16
12020 POSITION 4,5
12030 PRINT #6; "VERY GOOD ! "
12040 FOR 1=1 TO 1000: NEXT I
12050 GRAPHICS O
12060 RETURN
lOO REM HAPPY FACE
llO REM MAIN PROGRAM AREA
120 REM GO TO THE SUBROUTINE
130 GOSUB 12000
140 REM CONTINUE PROGRAM
150 REM IN THIS CASE, END
160 END
12000 REM FACE
12010 GRAPHICS 7+16
12020 COLOR 1
12030 FOR A=l TO 7.5 STEP 0.05
12040 PLOT (80+SIN<A)»20) , <40+C0S(A)*20)
12050 NEXT A
12060 PLOT 70, 33: PLOT 7 1,33: PLOT 89, 33: PLOT 90,33
12070 PLOT 79, 40: PLOT 8 1,40: PLOT 80,39
12080 PLOT 70,46
12090 DRAWTO 80,50
12100 DRAWTO 90,46
121 lO FOR 1=1 TO 2000:NEXT I
333
12120 GRAPHICS O
12130 RETURN
100 REM SAD FACE
110 REM MAIN PROGRAM AREA
120 REM GO TO THE SUBROUTINE
130 GOSUB 12000
140 REM CONTINUE PROGRAM
ISO REM IN THIS CASE, END
160 END
12000 REM SAD FACE
12010 GRAPHICS 7+16
12020 COLOR 3
12030 FOR A=l TO 7-5 STEP 0.05
1 2040 PLOT ( 80+S I N ( A ) *20 ) , ( 40+C0S ( A ) *20 )
12050 NEXT A
12060 PLOT 70, 33: PLOT 7 1,33: PLOT 89, 33: PLOT 90,33
12070 PLOT 79, 40: PLOT 81,40: PLOT 80,39
12080 PLOT 70, 50
12O90 DRAWTO 80,46
12100 DRAWTO 90,50
121 lO FOR 1=1 TO 2000:NEXT I
12120 GRAPHICS O
12130 RETURN
334
100 REM GRAPHICS ROUTINE
110 REM MAIN PART OF PROGRAM
120 REM JUMP TO SUBROUTINE
130 GOSUB 12000
140 REM CONTINUE WITH PROGRAM
ISO REM IN THIS CASE, STOP
160 END
12000 REM SPIRALS, ETC
12010 PI=3. 14159:W=PI/100
12020 D=RND<0)*20
12030 ANG=RND<0)*360
12040 I=RND(0)*20
12050 GRAPHICS 8+16: COLOR 1
12060 SETCOLOR 2, RND <0) *16, INT (RND (O) *4) *2
12070 X=140:Y=96:A=ANG:PL0T X,Y
12080 FOR J=l TO 200
12090 XN=X+D*COS (W*A) : YN=Y+D*SIN (W*A)
12100 IF XN<0 OR YN<0 THEN 12150
121 lO IF XN>319 OR YN>191 THEN 12150
12120 DRAWTO XN,YN:D=D+I
12130 a=a+ang:x=xn:y=yn
12140 NEXT J
12150 FOR 1=1 TO 400:NEXT I
12160 GRAPHICS O
12170 RETURN
Appendix B
GLOSSARY
Address. A number that designates a location where information is stored in a memory
device.
Algorithm. A statement of mathematical and/or logical steps to be followed in the
solution of a problem.
ASCII, American Standard Code for Information Interchange. A standard set of binary
codes which represent letters, numbers, and symbols.
BASIC. Beginners All-Purpose Symbolic Instruction Code. A high-level conversational
programming language in widespread use. Incorporates simple English words and
common mathematical symbols.
Baud. A rate of data transfer, given in bits per second. Alphabetic characters usually
require about 10 bits per character, so a baud rate of 300 corresponds to about 30
characters per second.
Binary Code. The most fundamental of codes, using only O's and I's to represent data.
Can be represented by the presence or absence of electrical current within key parts
of a computer.
Branching Programmed Instruction. The material to be learned is presented in a
sequence of small steps or frames similar to linear programmed instruction. The
learner is presented a paragraph or so of information and asked questions concerning
the paragraph. A correct answer advances or branches the program to the next step,
where the learner's correct answer is verified and further information in paragraph
form is presented. If the answer is incorrect or a near miss, the learner is transferred
to a frame which explains the point in elementary or remedial terms. The learner is
then sent back to the original point or frame to begin the advancement or branching
process once again.
Bus. The set of electrical lines connecting the various parts of the computer. Data and
control signals are sent along these lines.
Byte. A basic unit of information in a computer. A byte usually represents one character
and is normally eight bits in length.
335
CAL Computer-Assisted (Aided or Administered) Instruction. Many times CAI can be
also referred to as CAL (computer-assisted learning) or CBL (computer-based
learning). An extrinsic programming technique for individual instruction using
computer hardware and software.
Character. Letters^ numbers^ and symbols which can be arranged into information. A
character can usually be defined as one byte of information.
Computer Literacy. Knowledge or awareness of how computers are operated, pro-
grammed, and applied as an object of instruction.
Courseware. The terms course and software combined. The material to be learned is
written in a computer programming language such as BASIC or PILOT.
CPU. Central Processing Unit. The "brain" of the computer. Directs all functions of the
computer.
CRT. Cathode Ray Tube. The tube which makes the television screen perform. Used to
display text and graphics created by a computer. Frequently linked with a keyboard
to create a CRT terminal.
Cursor. A movable spot on the face of a CRT with indicates where the next character
will be displayed.
Data. Information transferred to or from a computer.
Debug. The process of locating and eliminating errors in a program listing.
Dialog. A type of computer-assisted instruction (CAI) that is least used. Software is
complex and requires a great deal of data storage capability. Instruction begins with
the learner submitting questions or data to the computer. The computer replies with
correct answers and additional information on the subject(s) and even provides
practice problems. Dialog CAI is not very practical with present microcomputers
because of the lack of data storage capability.
Diagnostic Routine. A form of programming which lets the computer test itself for
internal hardware malfunctions.
Disc (Disk). A mass storage device capable of high storage and retrieval speeds. Similar
in appearance to a magnetic oxide coated record. Can be either floppy (flexible) or
hard, depending upon performance requirements.
Dot Matrix. A technique of using an array of dots to create characters. A 5 X 7 array of
dots is the bare minimum for alphanumeric characters, while larger arrays, such as
7X9, will allow upper and lower case letters, and underlining.
Drill and Practice. A type of computer- assisted instruction (CAI) that is used most
widely by educators. Material is presented in form of practice problems and
exercises for the purpose of learning reinforcement. Computer provides student
reward and recognition for correct answers and remedial information for wrong
answers. Excellent for present microcomputer hardware.
Duplex (Full Duplex). An interface which allows simultaneous two-way communica-
tion between a computer and a peripheral device.
EPROM. Erasable Programmable Read Only Memory. A long-term memory which,
under special conditions, can be erased and rewritten.
336
File. A set of data which has some specified relationship.
Firmware. Programs which are stored in ROM. They are immediately available for
execution; there is no need to load them from a storage device.
Floating Point BASIC. A full-sized BASIC programming language capable of handling a
complete range of mathematic computations. It also includes sophisticated methods
for manipulating words or "strings" of non-numeric characters.
GIGO. Garbage In, Garbage Out. Any errors which enter a computer will result in errors
in the output.
Graphics. The ability of the computer to construct line drawings, graphs, charts, etc. on
a CRT or a printer.
Graphic Subroutine. A small segment of a program listing that performs a specific
graphic function. Graphic subroutines can substitute word subroutines in order to
draw or plot a graphic design to depict the meaning of the word.
Hardware. The equipment which makes up a computer system.
High-Level Language. A computer language with characteristics of English words,
decimal arithmetic, and common mathematics symbols. Each instruction usually
represents many individual computer operations.
Input. Information (or data) entering a computer or peripheral device. The same
information may be output from some other part of the computer system.
Interface. A hardware and/or software device used to connect a computer to peripheral
equipment such as printers.
I/O. Input/Output of information. The two terms are frequently used together because
they often involve the same communication lines.
K or Kilo. Symbol or prefix for 1,000. In computer language, 1 K actually stands for 2 to
the tenth power or 1,024.
Linear Programmed Instruction, Material to be learned is presented in a logical (fixed)
sequence of small steps or frames. Immediate confirmation of correct or incorrect
answers is given and student progresses onto the next frame at his or her own rate.
Correct answer must be given before the learner advances onto the next step or
frame.
LOGO. A programming language developed by Seymour Papert with MIT (Massachu-
setts Institute of Technology) associates by which children can learn computer
programming, problem solving, and mathematics while using the computer.
Children are typically introduced to LOGO by using the computer to control a
"TURTLE," an imaginary creature that "lives" on a graphics display screen, the
movement of which is controlled by commands typed at a computer keyboard.
Machine Language. A language which can be executed directly by the computer.
Usually a series of binary or hexdecimal numbers. Very difficult for humans to work
with.
Memory. The high speed electronic components in a computer that store information
often in RAM or ROM.
337
Modem. Modulator-Demodulator. An interface that allows the computer to send
(receive) digital signals over analog signal telecommunication lines or sateUites.
Output. Information or data coming from a computer.
Peripheral Device. Equipment that links to a computer by means of an interface.
Printers, CRT's, tape and disc drives are examples.
PILOT. A high-level programming language using interaction and conversation tech-
niques. Developed by Dr. John Starkweather at the University of California, San
Francisco.
Programmed Instruction (PI). Material to be learned is presented in short sequential
steps or frames. Each frame represents a fact to be learned. A dialog in the form of
questions and answers is set up between a single tutor and a single learner.
PROM. Programmable Read Only Memory. Permanently recorded data stored on special
RAM memory. Once programmed the data cannot be altered by computer or man.
Useful for storing frequently utilized instructions.
RAM. Random Access Memory. The "working" memory of the computer. This memory
can be accessed and altered (programmed) by the computer or man as needed.
REM. A REMarks statement in a program listing. It is used to explain a portion of the
program and does not have to be entered into the computer's memory.
ROM. Read Only Memory. About the same as PROM, except that ROM is usually
programmed at the time of manufacture. Many times in the form of cassette or
cartridges. ROM cannot be altered (programmed) by the computer or man.
Simulation Programmed Instruction. A type of programmed instruction (PI) and
computer-assisted instruction (CAI) that puts the learner in a real-life physical or
social situation. Simulations are designed to allow the learner to use decision-
making skills to alter the situation and witness the outcome created by the decisions.
Personal, educational growth derives from the parallel effect of the various inputs to
real-life conditions. A great deal of enthusiasm or motivation from the learner is one
good aspect of the use of simulation CAI. Many computer games (for example, Space
War games) are simulations. Science and engineering as well as the aerospace
industry use simulations for structural design and the training of personnel.
Simulations are difficult to create, but they have tremendous potential for use on
present microcomputers.
Software. Programs and necessary documentation which are needed to make a
computer operate.
Testing. A type of computer-assisted instruction (CAI) that educators first used on a
computer. Computer gives a "test" by asking questions while the learner responds
with the correct or incorrect answer, A score is recorded by the computer and a grade
is displayed at the end of the test. Microcomputers are good application for this type
of CAI.
Tutorial. A type of computer-assisted instruction (CAI) that is the second most widely
used application by educators. Linear, branching, or simulation programmed
338
instruction is implemented on a computer. Microcomputers are widely used for this
type of CAI.
Terminal. A peripheral device which usually consists of a printer or a CRT, a keyboard,
and sometimes a floppy or hard disc device.
339
Appendix C
REFERENCES
BOOKS
1. Albrecht, Bob, Finkel, Leroy, and Brown, Jerald R. ATARI® BASIC John Wiley 8k Sons,
New York, 1979.
2. Albrecht, Bob, Lower, Judy, and More, Herb. ATARP Sound and Graphics. John Wiley
8k Sons, New York, 1982.
3. Anderson, Ronald E., Hunter, Beverly, and Seidel, Robert J., eds. Computer Literacy:
Issues and Directions for 1985. Academic Press, New York, 1982.
4. Atkinson, R. C, and Wilson, H. A., eds. Computer-Assisted Instruction: A Book of
Readings. Academic Press, New York, 1969.
5. Barnes, O. Dennis, and Schrieber, Deborah B. Computer-Assisted Instruction, A
Selected Bibliogxaphy. Association for Educational Communications and Technology,
Washington, D.C., 1972.
6. Bassler, Richard A., and Joslin, Edward O. Applications of Computer Systems. College
Readings, Inc., Arlington, VA, 1974.
7. Blishen, Edward. The Encyclopedia of Education Philosophical Library, Inc., New
York, 1970.
8. Bullock, Donald H. Programmed Instruction Educational Technology Publications,
Inc., Englewood Cliffs, NJ, 1978.
9. Coburn, Peter; Kelman, Peter; Roberts, Nancy; Snyder, Thomas F.; Watt, Daniel H.;
and Weiner, Cheryl. Practical Guide to Computers in Education. Addison- Wesley
PubHshing Co., Inc., 1982.
10. Doerr, Christine. Microcomputers and the 3 R's. Hayden Book Company, Inc.,
Rochelle Park, NJ, 1979.
11. Eddins, John, and Peter, G. David. A Plarwing Guide to Successful Computer
Instruction. Electronic Courseware Systems, Inc., Champaign, IL, 1982.
12. Edwards, J. B.; Ellis, A. S.; Richardson, D. E.; Holznagel, D.; and Klassen, D. Computer
Apphcations in Instruction: A Teacher's Guide to Selection and Use. Time Share
Corporation, Hanover, NH, 1978.
13. Kurshan, Barbara. Computer Literacy: Practical Ways to Teach the Basic Mathematic
Skills. Virginia Council of Teachers of Mathematics, Richmond, VA, 1978.
14. Nahigian, J. Victor, and Hodges, William S. Computer Games for Businesses, Schools,
341
and Homes. Winthrop Publishers, Inc. (Little, Brown Sk Company), Cambridge, MA,
1979.
15. Orwig, Gary W., and Hodges, William S. The Computer Tutor: Learning Activities for
Homes and Schools. Winthrop Publishers, Inc. (Little, Brown 8k Company),
Cambridge, MA, 1982.
16. Poole, Lon, McNiff, Martin, and Cook, Steven. Your ATARI® Computer: A Guide to
ATARI® 400/800"^ Personal Computers. Osborne/McGraw-Hill, Berkeley, CA, 1982.
17. Reese, Jay. Simulation Games and Learning Activities Kit for the Elementary School
Parker Publishing Company, Inc., West Nyack, NY, 1977.
PERIODICALS
1. Ahl, David H. "Computer Simulation Games." Teacher, February 1980, pp. 60-61.
2. Aiken, Robert M., and Braun, Ludwig. "Into the 80's with Microcomputer-Based
Learning." Computer, July 1980, pp. 11-16.
3. Aiken, Robert M., and Moshell, Michael. "Computer Power." The Computing
Teacher, April 1982, pp. 12-14.
4. Allee, Jr., John G., and Williams, Robert L. "A Challenge for the Language Arts CAI
Developer." Creative Computing, September 1980, pp. 120-125.
5. Barnett, Bruce D. "Grading Made Easy." Creative Computing, September 1980, pp.
146-149.
6. Bejar, Isaac I. "Milliken Math Sequences." Creative Computing, September 1980, pp.
56-57.
7. Bell, Fred. "Classroom Computers: Beyond the 3R's." Creative Computing, September
1979; pp. 68-70,
8. Billings, Karen. "Microcomputers in Education: Now and in the Future." Kilobaud
Microcomputing, June 1980, pp. 100-102.
9. Blaschke, Charles L. "Microcomputer Software Development for Schools: What,
Who, How?" Educational Technology, October 1979, pp. 26-28.
10. Bork, Alfred, and Franklin, Stephen. "Personal Computers in Learning." Educational
Technology, October 1979, pp. 7-12.
11. Campbell, J. Olin. "Personal Computers In The Classroom." Interface Age, October
1979, pp. 60-62.
12. Carlson, Ronald. "Complements and Supplements." Creative Computing, September
1980, pp. 140-142.
13. Carlstrom, Geraldine. "Operating a Microcomputer Convinced Me — and My Second
Graders— To Use It Again . . . and Again . . ." Teacher, February 1980, pp. 54-55.
14. Carpenter, Chuck. "Chem Lab Simulations From High Technology." Creative
Computing, September 1980, pp. 58-59.
15. Carr, Everett Q., "Computer Survival Course for Kids." Kilobaud Microcomputing,
June 1980, pp. 122-123.
16. Cohen, Michael R. "Improving Teachers' Conceptions of Computer- Assisted Instruc-
tion." Educational Technology, August 1978, pp. 41-42.
17. Cook, William H. "Math Teacher." Kilobaud Microcomputing, June 1980, pp. 134-
136.
18. D'Ignazio, S. Frederick. "The World Inside The Computer." Creative Computing.
September 1980, pp. 40-44.
342
19. Dwyer, Tom. "Books as an Antidote to the CAI Blues, Or Take a Publisher to
Lunch." BYTE, July 1980, pp. 74-84.
20. Fincher, Jack. "Computers Are Kid Stuff." Next, March/April 1980, pp. 38-41 ff.
21. Fink, Robert K. "Living Off the Land." Personal Computing, August 1980, pp. 50-
51.
22. Frann, Steven. "Computers and Education: Views of Seymour Papert." Technology
Review, November 1979, pp. 77-78.
23. Frenzel, Lou, "The Personal Computer— Last Chance for CAI?" BYTE, July 1980, pp.
86-96.
24. Friel, Susan, and Roberts, Nancy. "Computer Literacy Bibliography." Creative
Computing, September 1980, pp. 92-97.
25. "Getting Started With Microcomputers." Instructional Irmovator, September 1980,
Vol. 25, No. 26.
26. Gilder, Jules H. "Radio Electronics Buyer's Guide To Home Computers." Radio
Electronics, October 1980, pp. 45-84.
27. Heines, Jesse M. "Courseware Development and the NSF." Computer, July 1980, pp.
31-34.
28. Huntington, John F. "Microcomputers and Computer-Assisted Instruction." Educa-
tional Technology, May 1979, pp. 32-37.
29. Kahn, Henry F. "Needed: An Alternative for Mathematics Textbooks." School Science
and Mathematics, October 1979, pp. 472-477.
30. Kingman, James C. "Design Good Educational Software." Creative Computing,
October 1981, pp. 72-81.
31. Kleiman, Glenn. "Learning With Computers." Compute!, September 1982, pp. 96-
99.
32. Knight, Anne H. "Computer Anxiety: One Way to Handle It." Creative Computing,
September 1979, pp. 74-75,
33. Larsen, Sally Greenwood. "Kids and Computers: The Future is Today." Creative
Computing, September 1979, pp. 58-60.
34. Lehman, James D. "Nich, A BASIC Game of Ecology." Creative Computing, July 1979,
pp. 87-91.
35. Lichtman, David. "Survey of Educators' Attitudes Toward Computers." Creative
Computing January 1979; pp. 48-50.
36. Lipson, Joseph I. "Technology in Science Education: The Next 10 Years." Computer,
July 1980, pp. 21-28.
37. Loop, Liza, and Anton, Julia. "Bringing Computers to the People." Classroom
Computer News, September/October 1982, pp. 29-31.
38. Lubar, David. "Educational Software." Creative Computing, September 1980, pp. 64-
72.
39. Luehrmann, Arthur. "Computer Illiteracy — A National Crisis and a Solution For It."
BYTE, July 1980, pp. 98-102.
40. March, Paul W. "The Microcomputer Goes to School" Audiovisual Instruction, May
1978, pp. 38-40.
41. Martellaro, Helena C. "Why Don't They Adopt Us?" Creative Computing, September
1980, pp. 104-105.
42. Mazur, Ken. "Grow Old Along with Me! The Best Is Yet to Be..." Personal
Computing, August 1980, pp. 39-41.
343
43. McGowan, Francis. "The Micro In A Small School." Interface Age, October 1979, pp.
64, 99ff.
44. Miller, Inabeth. "The Micros Are Coming." Media and Methods, April 1980, pp. 31-
34ff.
45. Miller, W. R., and Randolph, James E. "Occupational Information Through
Computer Simulation." Journal of Educational Research, March/ April, 1977, pp. 199-
204,
46. Molnar, Andrew. "The Next Great Crisis in American Education — Computer
Literacy." EDUCOM Bulletin, Spring 1979.
47. Mourer, Donald E. "The Computer vs. the Professor." Creative Computing, September
1979, pp. 78-81.
48. Nilson, Jeff. "Classroom of the Future." Kilobaud Microcomputing, September 1981,
pp. 36-40.
49. Noddings, Nel, "Word Problems Made Painless." Creative Computing, September
1980, pp. 108-113.
50. Noonan, Larry. "Computer Simulations In The Classroom." Creative Computing
October 1981, pp. 132-138.
51. Olds, Jr., Henry F. "Through A New Looking Glass." Kilobaud Microcomputing,
September 1981, pp. 62-74.
52. Patterson, Jerry L., and Patterson, Janice H. "The Next National Disgrace: Why
Johnny Can't Log On." Classroom Computer News, March/ April 1982, p. 69.
53. Piele, Donald T. "Flow To Solve It— with the Computer." Creative Computing,
September 1980, pp. 126-131.
54. Piele, Donald T. "Micros 'GOTO' School." Creative Computing, September 1979, pp.
132-134.
55. Potts, Michael. "Smart Programs, Dumb Programs." Creative Computing, September
1980, pp. 100-102.
56. Prentice, Lloyd R. "Class '82." Kilobaud Microcomputing, September 1982, pp. 32-
34.
57. Prentice, Lloyd R. "Educational Computing — The Giant Awakes." Kilobaud Micro-
computing, September 1981, pp. 86-91.
58. Ropes, George. "Bringing Microcomputers Into Schools." Kilobaud Microcomputing,
June 1980, pp. 104-105.
59. Schwartz, Marc D. "Integrating CAI and Videotape." Creative Computing, September
1980, pp. 116-117.
60. Sorlie, William E., and Essex, Diane L. "So You Want to Develop A Computer-Based
Instruction Project? Some Recommendations to Consider First." Educational Tech-
nology, March 1979, pp. 53-57.
61. Souviney, Randall. "There's a Microcomputer in Your Future." Teacher, February
1980, pp. 53-58.
62. Spivak, Howard, and Varden, Stuart. "Classrooms Make Friends with Computers."
Instructor, February 1980, pp. 52-58, and Part II, March 1980, pp. 84-90.
63. Stark, Peter A. "Computer Education and Vocations." Kilobaud Microcomputing, June
1980, pp. 150-156.
64. Stewart, George. "How Should Schools Use Computers? The Debate Heats Up."
Popular Computing, December 1981, pp. 104-110.
65. Stone, Deborah. "Computers at an Alternative School." Creative Computing,
September 1980, pp. 46-47.
344
66. Strickland, A. W. "Metric Instruction in Elementary Science Methods Using
Computer-Managed Instruction." Educational Technology, August 1979; pp. 31-32.
67. Swenson, Richard P.^ and Anderson, Chrys. "The Role of Motivation In Computer-
Assisted Instruction." Creative Computing, October 1982, pp. 134-139.
68. The, Lee. "What Did You Do In Computer Class?" Personal Computing, September
1981, pp. 44-51, 54.
69. Viacant, William J. "The Briefcase-size Computer and Its Impact on Education."
Computers and People, May 1978, pp. 24-25.
70. Victor, John Eric. "Rudimentary Computer Teaching Aid." Kilobaud Microcomputing,
June 1980, pp. 162-163.
71. Watt, Daniel. "The Brouhaha Over Computers In The Classroom." Popular Com-
puting, May 1982, pp. 36-45.
72. Wexler, Henrietta. "Computer Literacy." American Education, June 1979, pp. 4 Iff.
73. Woolley, Robert D. "Microcomputers and Videodiscs: New Dimensions for Com-
puter Based Education." Interface Age, December 1979, pp. 78-82.
74. Zinn, Karl L. "Personal Computers at the University of Michigan: An Assessment of
Potential Impact." Creative Computing, September 1978, pp. 84ff.
345
$15.95
The Computer Tutor: ATARI® Home Computer Edition
Learning Activities for Homes and Schools
Gary W. Orwig and William S. Hodges • >
Now everyone can learn how to use the ATARI series of home computers for more
than just playing games. This exciting and entertaining collection of educational com-
puter programs is designed for parehts to introduce their children to the rewards of
computing. Using easy-to-learn techniques, parents can experiment with sugges-
tions for modifying and personalizing their own family programs, while youngsters
sharpen their math and vocabulary skills, learn the metric system, and even get a
taste of portfolio management by "playing the stock market." At the same time, both
parents and children will begin an invaluable lifelong education in computer literacy
The twenty-five programs use linear, branching, and simulation techniques for such
games as:
Capitals of Nations Story Teller Story Writer
Guess the Numbers Synonyms/Antonyms Acceleration
Guess the Word Testjutor Ballistics
Math Tutor ' Time, Distance, and Car Wash
Math Word Problems Velocity Check-Out Counter
Memory Test -Letters Too High - Too Low Stock Market
Memory Test -Numbers Trivia Quiz Teach Me
Scrambled Words - ' Factor Game
Spelling Quiz Math Teacher
Since program listings are given both in ATARI BASIC and Microsoft® BASIC, the
programs will run on all ATARI Home Computer models and configurations, either
cassette or disk. The book also includes an appendix — complete with program
examples — which shows how to add exciting sound and color graphics to the
programs to enhance the interactive learning process.
ATARI is a registered trademark of Atari, Inc. I
400/800, 600XL, 800XL, 1200XL, 1400XL, 1450XLD, and VCS 2600/5200 are'
trademarks of Atari, Inc.
Microsoft is a registered trademark of Microsoft Corporation.
Little, Brown and Company • Boston -Toronto
08831545
feN_.